Скласти програму (Pascal ABC)** знаходження мінімального числа в двохвимірном...

0 голосов
52 просмотров

Скласти програму (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]write('Найменший елемент масиву min=',min);
end.


Информатика (116 баллов) | 52 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Чесно кажучи, написано дуже "приблизно" :)

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]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]writeln('Найменший елемент масиву min=',min);
end.

(52.6k баллов)