• 1. Напишите алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.
    2. Напишите алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов.

    Язык программирования, паскаль или бейсик.

Ответы 1

  • 1.Const   N = 30;Var   A:array[1..N] of integer;   i,Max,kMax:integer;BeginRandomize;Write('Исходный массив:');For i:= 1 to N do    Begin    A[i]:=random(N);    Write(' ',A[i]);    End;WriteLn;{Нахождение максимума}Max:=A[1];For i:= 2 to N do    if A[i]>Max then Max:=A[i];WriteLn('Max = ',Max);{Подсчёт максимумов}kMax:=0;For i:= 1 to N do    if A[i] = Max then kMax:=kMax+1;WriteLn('kMax = ',kMax);End.Пример:Исходный массив: 11 13 9 8 19 9 22 29 0 23 6 26 14 21 24 24 26 26 23 13 12 20 1 21 0 27 25 28 13 0Max = 29kMax = 12.Const   N = 30;Var   A:Array[1..N] of integer;   i,SMax,iSMax:integer;BeginRandomize;Write('Исходный массив:');For i:= 1 to N do    Begin    A[i]:=random(N);    Write(' ',A[i])    End;WriteLn;iSMax:=1;SMax:=A[1]+A[2]+A[3];For i:= 3 to N-2 do    if A[i]+A[i+1]+A[i+2]>SMax then       Begin       iSMax:=i;       SMax:=A[i]+A[i+1]+A[i+2];       End;WriteLn('Номера элементов, сумма которых максимальна: ',iSMax,', ',iSMax+1,', ',iSMax+2);WriteLn('Максимальная сумма = A[',iSMax,'] + A[',iSMax+1,'] + A[',iSMax+2,'] = ',SMax)End.Пример:Исходный массив: 15 13 25 8 4 4 8 20 26 25 25 7 27 16 28 18 26 24 17 20 7 15 10 12 18 13 22 19 4 25Номера элементов, сумма которых максимальна: 9, 10, 11Максимальная сумма = A[9] + A[10] + A[11] = 76
    • Автор:

      rowan
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years