uses crt; {вывод результата в отдельном окне} var i,j,n,m,max,min:integer; {ввод переменных} a:array[1..10,1..10] of integer; {ввод массива} begin clrscr; {очистка экрана вывода} writeln ('vvedite chislo n'); {выводим на экран сообщение} read(n); {вводим число} writeln ('vvedite chislo m'); {выводим на экран сообщение} read(m); {вводим число} writeln ('vvedite elementu massiva'); {выводим на экран сообщение} for i:=1 to n do for j:=1 to m do begin {откроем операторные скобки, чтобы каждый раз не задавать границы массива} readln(a[i,j]); {вводим массив} max:=a[1,1]; {задаем значения для минимума и максимума для сравнения с другими элементами} min:=a[1,1]; if a[i,j] > max then max:= a[i,j]; if a[i,j] < min then min:=a[i,j]; end; {закроем операторные скобки} writeln('max=',max,'min=',min); {вывод на экран сообщения} end.
1) добавь строку для вывода результата в отдельном окне: uses crt; 2) Размерность массива лучше сразу задать с пмомщью констант - потом если нужно будет решить ту же задачу для другого массива, просто поменяешь её на новую: const n=10; const m=10; 3) описание массива через константы: a:array[1..n,1..m] of integer; 4) после приглашения writeln ('vvedite chislo n') должен быть оператор readln. Но представь себе ситуацию: ты описал массив a:array[1..10,1..10], а пользователь ввёл n=12? Тогда обращение к a[12,1] выдаст ошибку. Поэтому лучше не просить вводить n и m вообще, а использовать const 5) пропущен оператор readln: writeln ('vvedite elementu massiva',i,j); если в условии задачи не сказано явно вводить с клавиатруы значения массива, лучше заполнять массив с вводить 100 чисел надоедает!) randomize; for i:=1 to n do for j:=1 to m do a[i,j]:=random(100); 6) перед тем , как просматривать весь массив в поисках мин и макс элементов, надо задать начальное значение min и max: max:= a[1,1]; min:= a[1,1]; (дальше цикл поиска у тебя организован правильно) 7) writeln('max','min') - такая строка всегда печатает "maxmin" Надо так: writeln('max=',max,' min=',min); 8) для наглядности можно вывести массив перед тем, как выводить max и min. Можно использовать тот же цикл, что и для поиска: write(a[i,j]:5); (здесь ":5" задаёт ширину вывода - на каждое число отводится 5 позиций) 9) скачай и установи себе PascalABC и запускай каждую написанную прогрмму - иначе не научишься.
В итоге получим: Program zaza; uses crt; const n=10; const m=10; var i,j,max,min:integer; a:array[1..n,1..m] of integer; begin randomize; for i:=1 to n do for j:=1 to m do a[i,j]:=random(100); {задаёт случайное число от 0 до 99} max:= a[1,1]; min:= a[1,1]; for i:=1 to n do begin for j:=1 to m do begin if a[i,j] > max then max:= a[i,j]; if a[i,j] < min then min:=a[i,j]; write(a[i,j]:5); end; writeln(); {выводит пустую строку "для красоты"} end; writeln(); writeln('max=',max,' min=',min); end.
uses crt; {вывод результата в отдельном окне}
var i,j,n,m,max,min:integer; {ввод переменных}
a:array[1..10,1..10] of integer; {ввод массива}
begin
clrscr; {очистка экрана вывода}
writeln ('vvedite chislo n'); {выводим на экран сообщение}
read(n); {вводим число}
writeln ('vvedite chislo m'); {выводим на экран сообщение}
read(m); {вводим число}
writeln ('vvedite elementu massiva'); {выводим на экран сообщение}
for i:=1 to n do
for j:=1 to m do
begin {откроем операторные скобки, чтобы каждый раз не задавать границы массива}
readln(a[i,j]); {вводим массив}
max:=a[1,1]; {задаем значения для минимума и максимума для сравнения с другими элементами}
min:=a[1,1];
if a[i,j] > max then
max:= a[i,j];
if a[i,j] < min then
min:=a[i,j];
end; {закроем операторные скобки}
writeln('max=',max,'min=',min); {вывод на экран сообщения}
end.
1) добавь строку для вывода результата в отдельном окне:
uses crt;
2) Размерность массива лучше сразу задать с пмомщью констант - потом если нужно будет решить ту же задачу для другого массива, просто поменяешь её на новую:
const n=10;
const m=10;
3) описание массива через константы:
a:array[1..n,1..m] of integer;
4) после приглашения writeln ('vvedite chislo n') должен быть оператор readln. Но представь себе ситуацию: ты описал массив a:array[1..10,1..10], а пользователь ввёл n=12? Тогда обращение к a[12,1] выдаст ошибку. Поэтому лучше не просить вводить n и m вообще, а использовать const
5) пропущен оператор readln:
writeln ('vvedite elementu massiva',i,j);
если в условии задачи не сказано явно вводить с клавиатруы значения массива, лучше заполнять массив с вводить 100 чисел надоедает!)
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(100);
6) перед тем , как просматривать весь массив в поисках мин и макс элементов, надо задать начальное значение min и max:
max:= a[1,1];
min:= a[1,1];
(дальше цикл поиска у тебя организован правильно)
7) writeln('max','min') - такая строка всегда печатает "maxmin"
Надо так:
writeln('max=',max,' min=',min);
8) для наглядности можно вывести массив перед тем, как выводить max и min. Можно использовать тот же цикл, что и для поиска:
write(a[i,j]:5); (здесь ":5" задаёт ширину вывода - на каждое число отводится 5 позиций)
9) скачай и установи себе PascalABC и запускай каждую написанную прогрмму - иначе не научишься.
В итоге получим:
Program zaza;
uses crt;
const n=10;
const m=10;
var
i,j,max,min:integer;
a:array[1..n,1..m] of integer;
begin
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(100); {задаёт случайное число от 0 до 99}
max:= a[1,1];
min:= a[1,1];
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[i,j] > max then
max:= a[i,j];
if a[i,j] < min then
min:=a[i,j];
write(a[i,j]:5);
end;
writeln(); {выводит пустую строку "для красоты"}
end;
writeln();
writeln('max=',max,' min=',min);
end.