Сумма минимального и последнего отрицательного элементов массива - PascalABC.NET

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

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

Обработка линейного массива. Протестировать программу (2-3 набора тестов). Найти сумму минимального и последнего отрицательного элемента. Если отрицательных элементов нет, сообщить об этом.

Решение задачи: «Сумма минимального и последнего отрицательного элементов массива»

textual
Листинг программы
const nmax=100;
var a,a1:array[1..nmax] of integer;
    n,i,mn,op,s,k:integer;
begin
randomize;
repeat
write('Размер массива от 3 до ',nmax,' n=');
readln(n);
until n in [3..nmax];
writeln('Массив A');
k:=0;
for i:=1 to n do
 begin
  a[i]:=-25+random(51);
  write(a[i]:4);
  if i=1 then mn:=a[1]
  else if a[i]<mn then mn:=a[i];
  if a[i]<0 then
   begin
    k:=1;
    op:=a[i];
   end;
 end;
writeln;
writeln('Минимальный элемент=',mn);
if k=0 then write('В массиве нет отрицательных элементов')
else
 begin
  writeln('Последний отрицательный элемент=',op);
  s:=mn+op;
  write('Их сумма=',s);
 end;
end.

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

В этом коде:

  1. Объявляются переменные:
    • n, i, mn, op, s, k - целочисленные переменные для размера массива, цикла, минимального элемента, последнего отрицательного элемента и суммы соответственно.
  2. Инициализируется генератор случайных чисел.
  3. Пользователю предлагается ввести размер массива от 3 до 100.
  4. В цикле формируется массив a.
  5. В первой итерации цикла присваивается значение mn элементу a[1].
  6. Если mn не равно a[i], то присваивается новое значение mn.
  7. Если a[i] отрицательное, то присваиваются значения k, op.
  8. После цикла выводится mn.
  9. Если k=0, то выводится сообщение о отсутствии отрицательных чисел в массиве.
  10. Если k=1, то выводится сообщение с op и вычисляется s.
  11. Код повторяется, пока не будет введен корректный размер массива.

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


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

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

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