angelochec1999
15.02.2021 20:09

Дан массив, содержащий неотрицательные целые числа, их 30. Необходимо вывести:

максимальный чётный элемент, если количество чётных элементов не меньше, чем нечётных;
максимальный нечётный элемент, если количество нечётных элементов больше, чем чётных.
Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 3, 8, ответом будет 12 — наибольшее чётное число, поскольку чётных чисел в этом массиве больше.

Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных.

Python

# допускается также использовать
# целочисленные переменные j, k, m
a = []
n = 30
for i in range(0, n):
a.append(int(input()))
...

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
9827816
19.01.2021 03:45

#include <iostream>

int main() {

using namespace std;

setlocale(LC_ALL, "Russian");

int N;

cout << "Введите размерность массива: ";

cin >> N;

int* A = new int[N];

for (int i = 0; i < N; i++)

{

 cout << "Заполните [" << i + 1 << "] элемент: ";

 cin >> A[i];

}

cout << endl;

for (int i = 0; i < N; i++)

{

 cout << A[i] << " ";

}

int max_index = 0;

for (int i = 1; i < N; i++)

{

 if (A[i] > A[max_index]) {

  max_index = i;

 }

}

cout << "\nНомер локального максимума: " << max_index + 1;

return 0;

}

0,0(0 оценок)
Ответ:
Секретик321321
19.01.2021 03:45

program p1;

uses crt;   вывод окошка

const N = 30;

var a: array [1..N] of integer;

i, max, max2 :integer;

begin

 

 for i:=1 to N do begin  вывод элементов массива с рандома

a[i]:=  random (100);

 write( a[i]:4);

 end;

         writeln;

   max:= a[1];  принимаем первый элемент массива за макс

   max2:= a[1];  принимаем первый элемент массива за макс

   

  for i:=1 to N do begin              находим первый max                                                                  

    if  max<a[i] then

      max:= a[i];

      end;

       

      for i:=1 to N do begin                            находим второй max2

        if (max2<a[i]) and ( a[i]<> max) then

         max2:= a[i];

         end;

         

         writeln('max=',max);

         writeln('max2=',max2);

         end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота