Другие языки программирования и технологии

Помогите написать задачу

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

Язык программирования, паскаль или бейсик.
var i, n, max, c, k, max1: integer;
a: array [1..100] of integer;
begin
{write ('n=');
readln(n);}
n:=30;
max:=0;
writeln ('Массив А [N]:');
for i:=1 to n do
begin
a[i]:= 10 + random (10);
write (a[i]:4);
if a[i] > max then max:=a[i];
end;
writeln;
c:=0;
max1:=0;
for i:=1 to n do
begin
if a[i] = max then inc(c);
if (n-i) >= 2 then
begin
k:=a[i]+a[i+1]+a[i+2];
if k > max1 then max1:=k;
end;
end;
writeln;
writeln ('максимальных чисел (',max,') = ', c);
writeln ('максимальная сумма последовательности из трех чисел в массиве A[N] =', max1);
end.
АВ
Александр Воробьев
24 309
Лучший ответ
k:=0;
for i:=1 to 30 do
if a[i]=max then k:=k+1;
а что непонятно, что не получается?
Ленар Данилов
Ленар Данилов
95 951
Сергей Свинаренко Сначала надо найти максимум, иначе в начале максимум равен 0, как я знаю.
1. Напишите алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.

Первый цикл - определение максимального элемента
Объявляем переменную max, равной первому элементу массива,
Сравниваем поочередно все элементы массива с переменной max.
Если элемент больше max, присваиваем переменной max значение этого элемента.
На выходе получаем максимальный элемент массива.
Второй цикл - объвляем переменнную-счётчик, например n.
Присваиваем ей значение ноль. Запускаем цикл, в котором сравниваем все элементы массива, с переменной max, если элемент равен max, увеличиваем значение переменной n на единицу. На выходе получаем количество элементов массива, равных максимальному элементу. Бинго!
Рома Голодняк
Рома Голодняк
6 930
Сергей Свинаренко Можно пожалуйста в том виде как должно быть, я понимаю какие алгоритмы нужно записать, но не знаю как их записать.