СРОЧНО!Пишу прогу с процедурами, которая считает количество "особых "элементов матрицы, но в конце проги не работает writeln, в чём может быть проблема? Вот задача. Заданная целочисленная матрица размером NXM. Определить k-коли...
СРОЧНО!Пишу прогу с процедурами, которая считает количество "особых "элементов матрицы, но в конце проги не работает writeln, в чём может быть проблема?
Вот задача.
Заданная целочисленная матрица размером NXM. Определить k-количество "особых" элементов матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа - большие.
Вот мой код.И если уж у меня все плохо,то предложите свой код программы.
program samost;
const n=5;
m=5;
type tmatr = array[1..n, 1..m] of integer;
var a:tmatr;
i,j,k:integer;
procedure PrintMatrix(var g:tmatr);
begin
var i,j,k:integer;
for i:=1 to n do
begin
for j:=1 to n do
write(g[i,j]:4);
writeln
end;
end;
procedure MakeMatrix;
begin
var i,j,k:integer;
randomize;
for i:=1 to n do
for j:=1 to n do
begin
a[i,j]:=random(10)-5;
end;
end;
begin
MakeMatrix;
writeln('matrica A: ');
PrintMatrix(a);
k:=0;
for i:=1 to n do
for j:=1 to m do
begin
if (a[i,j]a[i-1,j]) then inc(k)
end;
writeln('kolichestvo elementov = ',k);
end.
Ответ(ы) на вопрос:
program samost;
const n=5;
m=5;
type tmatr = array[1..n, 1..m] of integer;
var a:tmatr;
i,j,k:integer;
procedure PrintMatrix(var g:tmatr);
begin
var i,j:integer;
for i:=1 to n do
begin
for j:=1 to n do
write(g[i,j]:4);
writeln
end;
end;
procedure MakeMatrix;
begin
var i,j,k:integer;
randomize;
for i:=1 to n do
for j:=1 to n do
begin
a[i,j]:=random(10)-5;
end;
end;
begin
MakeMatrix;
writeln('matrica A: ');
PrintMatrix(a);
k:=0;
for i:=1 to n do
for j:=2 to m-1 do
begin
if (a[i,j]>a[i,j-1])and(a[i,j] a[i, j-1]) then inc(k);
Writeln('kolichestvo elementov = ', k);
end.
Тестовое решение:
matrica A:
4 4 0 -2 -3
1 -4 4 -5 0
2 4 -2 1 -2
-4 -5 -4 -2 4
1 0 0 -3 2
kolichestvo elementov = 2
Не нашли ответ?
Похожие вопросы