Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
DreamerFX
написать программу,которая формирует одномерный массив(массив температур),вычисляет минимальное среди отрицательных элементов массива D(1..30)
DreamerFX
const
n=30;
var
a:array[1..n] of integer;
i,min:integer;
begin
for i:=1 to n do read (a[i]);
min:=0;
for i:=1 to n do
if a[i]<min then min:=a[i];
write('Минимальное среди отрицательных',min);
end.


правильно?
Федосеев Павел
В принципе - почти да.
Но есть вопрос - что будет при отсутствии отрицательных элементов в массиве?
Можешь решить или добавлением булевой переменной и тогда вид условия станет
  min:=0;
NegativePresent:=false;
for i:=1 to n do
if a[i]<min then
begin
min:=a[i];
NegativePresent:=true;
end;
if NegativePresent then
writeln('Минимальное среди отрицательных', min)
else
writeln('В массиве нет отрицательных элементов.');

Ещё улучшение, обычно добавляемое к требованиям в ЕГЭ по информатике - ввод массива и его обработка должна быть реализована в одном цикле. Хотя для читабельности и обучения с "нуля" - в двух циклах нагляднее.
DreamerFX
Короче я затупил
необходимо переделать на рандомный массив,а не ввод его руками. Есть идеи?
Федосеев Павел
Навалом - Яндекс
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.