Предмет: Информатика, автор: anisalena3056

НА ПИТОНЕ
Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов
ЕСТЬ РЕШЕНИЕ НА ПАСКАЛЕ:
var a:array[1..N] of integer;
max, k, i: integer;
begin
for i:=1 to N do readln(A[i]);
k:=1;
max:=a[1];
for i:=2 to N do begin
if a[i]=max then k:=k+1;
if a[i]>max then begin
max:=a[i];
k:=1
end
end;
writeln(k)
end.

Ответы

Автор ответа: imariikoval
0

Ответ:

Задание:

Опишите на русском языке или одном из языков программирования алгоритм поиска номер первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).

Решение:

Выделяем целочисленные переменные i1 и Sum; в i1 будем хранить номер первого в паре выбранных соседних элементов, а в Sum – их сумму. В i1 записываем начальное значение 1, а в Sum – сумму первых двух элементов. В цикле рассматриваем все элементы массива со второго до N-1, если сумма текущего элемента и следующего за ним больше Sum, то запоминаем эту сумму в переменной Sum, а номер текущего элемента – в i1.

const N=30;

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

i, i1, Sum: integer;

for i:=1 to N do readln(A[i]);

i1 := 1;

Sum := A[1] + A[2];

for i:=2 to N-1 do

if A[i]+ A[i+1] > Sum then begin

i1 := i;

Sum := A[i] + A[i+1];

end;

writeln(i1);

end.


anisalena3056: просил на питоне
Автор ответа: restIess
1

k, N = 1, 30

a = [int(input()) for i in range(N)]

print(a)

_max = a[0]

for i in range(1, N):

   if a[i] == _max:

       k += 1

   if a[i] > _max:

       _max = a[i]

       k = 1

print(k)

Похожие вопросы
Предмет: Русский язык, автор: boss19821