Сумма минимального и последнего отрицательного элементов массива - 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.
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
- n, i, mn, op, s, k - целочисленные переменные для размера массива, цикла, минимального элемента, последнего отрицательного элемента и суммы соответственно.
- Инициализируется генератор случайных чисел.
- Пользователю предлагается ввести размер массива от 3 до 100.
- В цикле формируется массив a.
- В первой итерации цикла присваивается значение mn элементу a[1].
- Если mn не равно a[i], то присваивается новое значение mn.
- Если a[i] отрицательное, то присваиваются значения k, op.
- После цикла выводится mn.
- Если k=0, то выводится сообщение о отсутствии отрицательных чисел в массиве.
- Если k=1, то выводится сообщение с op и вычисляется s.
- Код повторяется, пока не будет введен корректный размер массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д