Алгоритм подсчета max количества подряд идущих отрицательных элементов в целочисленном массиве длины 30 - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Опиcать алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30
uses crt;
const n=30;
var a:array[1..n] of integer;
kmax, k, i: integer;
 
BEGIN
k:=0; kmax:=0;
for i:= 1 to n do begin write('a[',i,']='); read(a[i]); end;
for i:= 1 to n do begin if a[i]<0 then inc(k) else if k>=kmax 
then kmax:=k; k:=0;  end;
if k>=kmax then kmax:=k;write(kmax);
 readln;
 readln;
END.
выводит только нули почему-то. пж исправьте.

Решение задачи: «Алгоритм подсчета max количества подряд идущих отрицательных элементов в целочисленном массиве длины 30»

textual
Листинг программы
then begin kmax:=k; k:=0; end;  end;

Объяснение кода листинга программы

В данном коде на языке Free Pascal реализуется алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30.

  1. kmax - это максимальное значение переменной k, которое будет достигнуто в процессе выполнения алгоритма. Изначально значение kmax равно k.
  2. k - это счетчик, который используется для подсчета количества подряд идущих отрицательных элементов в массиве. В начале выполнения алгоритма значение k равно 0.
  3. Внешний цикл for i := 0 to 29 используется для прохода по всем элементам массива.
  4. Внутренний цикл while abs(a[i]) < 0 используется для подсчета количества подряд идущих отрицательных элементов. Пока текущий элемент массива имеет отрицательное значение, увеличивается значение k.
  5. Если значение k становится больше текущего значения kmax, то значение kmax обновляется.
  6. После завершения внутреннего цикла, значение k сбрасывается до 0.
  7. В конце алгоритма выводится значение kmax - максимальное количество подряд идущих отрицательных элементов в массиве.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы