2015-12-28 14:25:15 +03:00
|
|
|
|
// Поиск значения в случайной матрице. Использование оператора goto
|
2015-05-14 22:35:07 +03:00
|
|
|
|
const
|
|
|
|
|
|
sz = 10;
|
|
|
|
|
|
m = 4;
|
|
|
|
|
|
n = 5;
|
|
|
|
|
|
|
|
|
|
|
|
type Matrix = array [1..sz,1..sz] of integer;
|
|
|
|
|
|
|
|
|
|
|
|
label 1;
|
|
|
|
|
|
|
|
|
|
|
|
var matr: Matrix;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Заполнение матрицы m x n случайными числами
|
2015-05-14 22:35:07 +03:00
|
|
|
|
for var i := 1 to m do
|
|
|
|
|
|
for var j := 1 to n do
|
|
|
|
|
|
matr[i,j] := Random(100);
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Вывод матрицы
|
2015-05-14 22:35:07 +03:00
|
|
|
|
for var i := 1 to m do
|
|
|
|
|
|
begin
|
|
|
|
|
|
for var j := 1 to n do
|
|
|
|
|
|
write(matr[i,j]:3);
|
|
|
|
|
|
writeln;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Есть ли в матрице элемент 5?
|
2015-05-14 22:35:07 +03:00
|
|
|
|
var found5 := False;
|
|
|
|
|
|
for var i := 1 to m do
|
|
|
|
|
|
for var j := 1 to n do
|
|
|
|
|
|
if matr[i,j]=5 then
|
|
|
|
|
|
begin
|
|
|
|
|
|
found5 := True;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
goto 1; // Ай как нехорошо! Но это лучший способ выхода из двух вложенных циклов сразу
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end;
|
|
|
|
|
|
1:
|
|
|
|
|
|
if found5 then
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Элемент 5 найден')
|
|
|
|
|
|
else writeln('Элемент 5 не найден')
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end.
|