Скласти програму (pascal abc)на знаходження мінімального числа в двохвимірном масиві. приблизно написав але помилка..: program pr4; uses crt; const n=2; var b: array[1..n] of integer; min,i,j: integer; begin; for i: =1 to n do for j: =1 to n do begin; write('b[i]='); read ('b[i,j]); end; for i: =2 to n do for j: =2 to n do if b[i,j]
1) Слово "двовимірний" означає, що масив є таблицею (з рядками і стовпцями), а не те, що його довжина =2 елементи.
Тому значення n (рядок const n=2;) краще замінити на щось быльше, хоча б 10.
2) У розділі var двовимірний масив описується так:
var B:array[1..n, 1..n] of integer;
(вважаємо масив квадратним)
3) Бажано підкоректувати за на ввід, тому що користувач бачить одне і те ж для кожного елемента:B[i]=
Потрібно написати так: write('B[',i,',',j,]=');
read ('B[i,j]); - тут зайва лапка, має бути так read (B[i,j]); і бажано замість read використати readln, щоб кожне нове число користувач мав вводити з нового рядка.
Для навчального завдання ще краще не запитувати користувача вводити сто чисел, а заповнити масив програмно випадковими числами:
randomize;
B[i,j]:= random(101)-50; (задає числа від -50 до 50)
4)
for i:=2 to n do
for j:=2 to n do
Чому ти переглядаєш масив, починаючи з 2 рядка і 2-го стовпця???
Має бути
for i:=1 to n do
for j:=1 to n do
5)
if B[i,j]<min then min:=B[i,j]; - ти порівнюєш елемент B[i,j] зі змінною min, а чОму вона рівна? Де ти задаєш її значення?
6) Ну і бажано вивести весь масив на екран, щоб користувач міг його бачити.
Ось виправлений варіант програми:
Program pr4;
uses crt;
const n=10;
var
B:array[1..n,1..n] of integer;
min,i,j:integer;
begin;
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
B[i,j]:=random(101)-50;
write(B[i,j]:3, ' ');
end;
writeln;
end;
writeln;
min:= B[1,1];
for i:=1 to n do
for j:=1 to n do
if B[i,j]<min then min:=B[i,j];
writeln('Найменший елемент масиву min=',min);
end.