npr m=5,n=4,k=8
8 9 13 14
10 12 15 21
11 16 20 22
17 19 23 26
18 24 25 27
__________
Evo moj kod,ima neku grešku ne mogu da provalim šta i ako neko ima bolju ideju jer mi bespotrebno ide kroz neke cikluse.Hvala
Code:
program p1;
type niz=array[1..50]of integer;
matrica=array[1..59]of niz;
var
i,j,b,k,m,n:integer;
a:matrica;
procedure stampamatrice(m,n : integer; x : matrica);
var
i, j : integer;
begin
for i := 1 to m do
begin
for j := 1 to n do
begin
write(x[i, j] : 5);
end;
writeln;
writeln;
end;
end;
begin
writeln('Dimenzije matrice: ');
readln(m,n);
writeln('Od kog br. pocinje ');
readln(k);
i:=1;j:=1;
a[i,j]:=k;
b:=k;
while (b<=m*n+k-1) do
begin
if (j+1<=n) then
begin
j:=j+1;
k:=k+1;
a[i,j]:=k;
end
else begin
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
while (i<m)and(j>1) do
begin
i:=i+1;
j:=j-1;
k:=k+1;
a[i,j]:=k;
end;
if(i+1<=m) then
begin
i:=i+1;
k:=k+1;
a[i,j]:=k;
end
else
begin
i:=i-1;
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
while (i>1)and(j<n) do
begin
i:=i-1;
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
end;
stampamatrice(m,n,a);
readln;
end.
program p1;
type niz=array[1..50]of integer;
matrica=array[1..59]of niz;
var
i,j,b,k,m,n:integer;
a:matrica;
procedure stampamatrice(m,n : integer; x : matrica);
var
i, j : integer;
begin
for i := 1 to m do
begin
for j := 1 to n do
begin
write(x[i, j] : 5);
end;
writeln;
writeln;
end;
end;
begin
writeln('Dimenzije matrice: ');
readln(m,n);
writeln('Od kog br. pocinje ');
readln(k);
i:=1;j:=1;
a[i,j]:=k;
b:=k;
while (b<=m*n+k-1) do
begin
if (j+1<=n) then
begin
j:=j+1;
k:=k+1;
a[i,j]:=k;
end
else begin
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
while (i<m)and(j>1) do
begin
i:=i+1;
j:=j-1;
k:=k+1;
a[i,j]:=k;
end;
if(i+1<=m) then
begin
i:=i+1;
k:=k+1;
a[i,j]:=k;
end
else
begin
i:=i-1;
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
while (i>1)and(j<n) do
begin
i:=i-1;
j:=j+1;
k:=k+1;
a[i,j]:=k;
end;
end;
stampamatrice(m,n,a);
readln;
end.