Сумма минимального и последнего отрицательного элементов массива - 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.
- Код повторяется, пока не будет введен корректный размер массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д