Pascal/Turbo Pascal - pascal, leer matriz circular

   
Vista:

pascal, leer matriz circular

Publicado por Slash (2 intervenciones) el 26/05/2009 00:50:31
buenas! hice le codigo de como leer una matriz de forma circular o de espiral (no se si esta bien xD), el problema es q se me qda pidiendo el dato infinitamente :S, y no se por q, ayuda!!

{leer matriz circular}
procedure circulo;

var

n,x,cont1,cont2:integer;
a,b: integer;
up,down,left,right: integer;

begin

writeln ('Numero de la matriz');
read (m);
writeln (' ');

if m mod 2 <> 0 then
begin

if m=3 then
n:= 1;
if m=5 then
n:= 2;
if m=7 then
n:= 3;
if m=9 then
n:= 4;


read (ma[m-n,m-n]);
a:= m-n;
b:= m-n;

repeat

begin
x:= 1;
cont1:= 1;
cont2:= 2;
up:= 0;
right:=0;
down:=0;
left:=0;

repeat
read (ma[a,b-1]);
a:= a;
b:=(b+1);
up:= up + 1;
until up = cont1;

if left = 0 then
begin
repeat
read (ma[a-1,b]);
a:=(a-1);
b:=b;
left:= left + 1;
until left = cont1;
end;

if down = 0 then
begin
repeat
read (ma[a,b+1]);
a:=a;
b:=(b+1);
down:= down + 1;
until down = cont2;
end;

if right = 0 then
begin
repeat
read (ma[a+1,b]);
a:=(a+1);
b:=b;
right:= right + 1;
until right = cont2;
end;

cont1:= cont1 + 1;
cont2:= cont2 + 1;
x:= x + 1;
end;
until x = n;

up:= 0;

if up= 0 then
begin
repeat

read (ma[a,b-1]);
a:= a;
b:=(b+1);
up:= up + 1;

until up = cont1;
end;

end;
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder