написать программу,которая формирует одномерный массив(массив температур),вычисляет минимальное среди отрицательных элементов массива D(1..30)
DreamerFX
17.04.2014 18:04
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.
правильно?
Федосеев Павел
17.04.2014 23:55
В принципе - почти да. Но есть вопрос - что будет при отсутствии отрицательных элементов в массиве? Можешь решить или добавлением булевой переменной и тогда вид условия станет
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
18.04.2014 1:12
Короче я затупил необходимо переделать на рандомный массив,а не ввод его руками. Есть идеи?