2) Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30. На Паскале АБС
Объявляем переменные maxNegCount и currentNegCount, обе равны 0.Создаем массив arr размером 30 и заполняем его случайными целыми числами.Проходим по массиву в цикле от 1 до 30.Если текущий элемент arr[i] меньше 0, то увеличиваем currentNegCount на 1.Если текущий элемент arr[i] больше или равен 0, то сравниваем currentNegCount с maxNegCount. Если currentNegCount больше maxNegCount, присваиваем maxNegCount значение currentNegCount.Обнуляем currentNegCount.После прохождения по массиву, maxNegCount будет содержать максимальное количество подряд идущих отрицательных элементов.
Пример кода на Pascal:
program MaxNegCount; var arr: array[1..30] of integer; maxNegCount, currentNegCount, i: integer; begin randomize; maxNegCount := 0; currentNegCount := 0; for i := 1 to 30 do begin arr[i] := random(201) - 100; // Генерация случайного числа от -100 до 100 if arr[i] < 0 then currentNegCount := currentNegCount + 1 else begin if currentNegCount > maxNegCount then maxNegCount := currentNegCount; currentNegCount := 0; end; end; writeln('Максимальное количество подряд идущих отрицательных элементов: ', maxNegCount); end.
Этот алгоритм позволяет найти максимальное количество подряд идущих отрицательных элементов в массиве длины 30.
Алгоритм на Pascal:
Объявляем переменные maxNegCount и currentNegCount, обе равны 0.Создаем массив arr размером 30 и заполняем его случайными целыми числами.Проходим по массиву в цикле от 1 до 30.Если текущий элемент arr[i] меньше 0, то увеличиваем currentNegCount на 1.Если текущий элемент arr[i] больше или равен 0, то сравниваем currentNegCount с maxNegCount. Если currentNegCount больше maxNegCount, присваиваем maxNegCount значение currentNegCount.Обнуляем currentNegCount.После прохождения по массиву, maxNegCount будет содержать максимальное количество подряд идущих отрицательных элементов.Пример кода на Pascal:
program MaxNegCount;var
arr: array[1..30] of integer;
maxNegCount, currentNegCount, i: integer;
begin
randomize;
maxNegCount := 0;
currentNegCount := 0;
for i := 1 to 30 do
begin
arr[i] := random(201) - 100; // Генерация случайного числа от -100 до 100
if arr[i] < 0 then
currentNegCount := currentNegCount + 1
else
begin
if currentNegCount > maxNegCount then
maxNegCount := currentNegCount;
currentNegCount := 0;
end;
end;
writeln('Максимальное количество подряд идущих отрицательных элементов: ', maxNegCount);
end.
Этот алгоритм позволяет найти максимальное количество подряд идущих отрицательных элементов в массиве длины 30.