const
nmax = 20;
type
mas = array[1..nmax, 1..nmax] of integer;
var
a: mas;
n, m: byte;
k: integer;
procedure init_mas(var a: mas);
var
i, j: integer;
begin
repeat
write('Количество строк от 1 до ', nmax, ' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов от 1 до ', nmax, ' n=');
readln(n);
until n in [1..nmax];
for i := 1 to m do
begin
for j := 1 to n do
a[i, j] := random(20) - 10;
end;
end;
procedure print_mas(a: mas);
var
i, j: integer;
begin
for i := 1 to m do
begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;
end;
procedure first(a: mas);
var
i, j, indi, indj: integer;
begin
indi := -1;
indj := -1;
writeln('Введите k');
readln(k);
for i := m downto 1 do
for j := n downto 1 do
if (a[i, j] > 0) and (a[i, j] mod k = 0) then begin indi := i; indj := j; end;
if (indi > 0) and (indj > 0) then writeln('[', indi, ',', indj, ']') else writeln('Таких элементов нет');
end;
begin
init_mas(a);
writeln('Исходный массив:');
print_mas(a);
first(a);
end.
Следующий вариант
const
nmax = 20;
var
a: array[1..nmax, 1..nmax] of integer;
n, m: byte;
k: integer;
i, j, indi, indj: integer;
begin
repeat
write('Количество строк от 1 до ', nmax, ' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов от 1 до ', nmax, ' n=');
readln(n);
until n in [1..nmax];
for i := 1 to m do
begin
for j := 1 to n do
a[i, j] := random(20) - 10;
end;
writeln('Исходный массив:');
for i := 1 to m do
begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;
indi := -1;
indj := -1;
writeln('Введите k');
readln(k);
for i := m downto 1 do
for j := n downto 1 do
if (a[i, j] > 0) and (a[i, j] mod k = 0) then begin indi := i; indj := j; end;
if (indi > 0) and (indj > 0) then writeln('[', indi, ',', indj, ']') else writeln('Таких элементов нет');
end.
Следующий вариант
const
nmax = 20;
var
a: array[1..nmax, 1..nmax] of integer;
n, m: byte;
k: integer;
i, j, indi, indj: integer;
begin
repeat
write('Количество строк от 1 до ', nmax, ' m=');
readln(m);
until ((m<nmax) and (m>1));
repeat
write('Количество столбцов от 1 до ', nmax, ' n=');
readln(n);
until ((n<nmax) and (n>1));
for i := 1 to m do
begin
for j := 1 to n do
a[i, j] := random(20) - 10;
end;
writeln('Исходный массив:');
for i := 1 to m do
begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;
indi := -1;
indj := -1;
writeln('Введите k');
readln(k);
for i := m downto 1 do
for j := n downto 1 do
if (a[i, j] > 0) and (a[i, j] mod k = 0) then begin indi := i; indj := j; end;
if (indi > 0) and (indj > 0) then writeln('[', indi, ',', indj, ']') else writeln('Таких элементов нет');
end.