1. Напишите метод подсчета числа частей, одинаковых наибольшему, в числовом массиве
1. Напишите метод подсчета числа частей, одинаковых максимальному, в числовом массиве из 30 частей.
2. Напишите алгоритм поиска трех поочередных частей, сумма которых максимальна, в числовом массиве из 30 частей.
Язык программирования, паскаль либо бейсик.
1 ответ
Валера Жургатов
1.
Const
N = 30;
Var
A:array[1..N] of integer;
i,Max,kMax:integer;
Begin
Randomize;
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]gt;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 0
Max = 29
kMax = 1
2.
Const
N = 30;
Var
A:Array[1..N] of integer;
i,SMax,iSMax:integer;
Begin
Randomize;
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]gt;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
Const
N = 30;
Var
A:array[1..N] of integer;
i,Max,kMax:integer;
Begin
Randomize;
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]gt;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 0
Max = 29
kMax = 1
2.
Const
N = 30;
Var
A:Array[1..N] of integer;
i,SMax,iSMax:integer;
Begin
Randomize;
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]gt;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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов