Последовательно вводятся N целых чисел. Найти максимальное из них. Найти разницу между наибольшим и наименьшим.
Буду признательна за подробный ответ!
Answers & Comments
srzontmp
Var i,n,mn,mx: integer; a: array of integer; begin { считать количество чисел n } write('n = '); readln(n); { установить длину массива а n+1, массив динамический, нумерация с нуля} i:=1; setlength(a,n+1); writeln('введите числа через пробел: '); {циклический ввод n чисел с клавиатуры} repeat read(a[i]); i:=i+1; until i>n; { конец ввода } { начальные значения для максимума и минимума mn mx } mn:=a[1]; mx:=a[1]; { цикл по элементам массива } for i:=1 to n do begin { если элемент массива больше текущего максимума, то в максимум записать текущий элемент } if a[i]>mx then mx:=a[i]; { если элемент массива меньше текущего минимума, то в минимум записать текущий элемент } if a[i]<mn then mn:=a[i]; end; { конец цикла } writeln('min = ',mn,' max = ',mx); writeln('разница: (max - min) = ',mx-mn); end.
Answers & Comments
a: array of integer;
begin
{ считать количество чисел n }
write('n = '); readln(n);
{ установить длину массива а n+1,
массив динамический, нумерация с нуля}
i:=1; setlength(a,n+1);
writeln('введите числа через пробел: ');
{циклический ввод n чисел с клавиатуры}
repeat
read(a[i]);
i:=i+1;
until i>n;
{ конец ввода }
{ начальные значения для максимума и минимума mn mx }
mn:=a[1]; mx:=a[1];
{ цикл по элементам массива }
for i:=1 to n do
begin
{ если элемент массива больше текущего максимума,
то в максимум записать текущий элемент }
if a[i]>mx then mx:=a[i];
{ если элемент массива меньше текущего минимума,
то в минимум записать текущий элемент }
if a[i]<mn then mn:=a[i];
end;
{ конец цикла }
writeln('min = ',mn,' max = ',mx);
writeln('разница: (max - min) = ',mx-mn);
end.