Задачу необходимо выполнить через procedure или function.
Вот что я делал , но это не работает ((
Код: Выделить всё
program lab;
uses CRT;
const
n = 3;
m = 4;
type
matr= array[1..m,1..n] of integer;
procedure Vvod_B(var B:matr);
var i,j,m,n:integer;
begin
writeln('Введите количество строк в матрице B ');readln(m);
writeln('Введите количество столбцов в матрице B ');readln(n);
writeln;
for i:=1 to m do
for j:=1 to n do
begin
write('B[',i,',',j,']: ');readln(B[i,j]);
end;
writeln;
writeln(' Матрица B :');
writeln;
for i:=1 to m do
begin
for j:=1 to n do write(B[i,j]:5,' ');
writeln;
end;
end;
procedure Perestanovka(B:matr; var c:matr);
var
y,i,j,m,n:integer;
begin
y:= 0;
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
if B[i,j]<>0 then
begin
y:=y+1;
c[y,1]:=B[i,j];
c[y,2]:=i;
c[y,3]:=j;
end;
end;
end;
end;
readln;
end;
procedure Vivod_C(C:matr);
var i,j,m,n,y:integer;
begin
for i:=1 to y do
begin
for j:=1 to 3 do
write(C[i,j]:5,' ');
writeln;
end;
end;
var B,C:matr;
begin
clrscr;
Vvod_B(B);
Perestanovka(B,C);
Vivod_C(C);
readln;
end.