?>
где здесь ошибка и исправьте неправильно выводит макс. и мин. значения Program j;uses crt;const n=10;var a: array [1..n] of integer; i, min, max:integer;beginmin:=1; max:=1; Writeln ('Введите элементы массива');For i:=1 to n doBeginWrite ('a[', i: 2, ']='); Readln(a[i]);End;Writeln ('Контрольный вывод массива: ');For i:=1 to n do Writeln('a[', i:2, ']=', a[i]:4); if a[i]>a[max] then max:=i; if a[i]writeln('Максимальный элемент массива ', a[max], ' под номером ', max);writeln('Минимальный элемент массива ', a[min], ' под номером ', min);readln;end.
Ответы
Неправильно написан поиск минимального и максимального элементов:
Program j;
uses crt;
const n=10;
var a: array [1..n] of integer;
i,min,max:integer;
begin
min:=1; max:=1;
Writeln ('Введите элементы массива');
For i:=1 to n do
Begin
Write ('a[',i: 2,']=');
Readln(a[i]);
End;
Writeln ('Контрольный вывод массива: ');
For i:=1 to n do
Writeln('a[',i:2,']=',a[i]:4);
for i:=1 to n do
begin
if a[i]>a[max] then max:=i;
if a[i]<a[min] then min:=i;
end;
writeln('Максимальный элемент массива ',a[max],' под номером ',max);
writeln('Минимальный элемент массива ',a[min],' под номером ',min);
end.
Выделенное жирным шрифтом - исправленный вариант.
Теперь программа корректно ищет и минимальный и максимальный элементы, при том проходя массив полностью, а не до первого совпадения, как было в исходной версии.