Problema programa cuadrado magico pascal
Publicado por Estudiante desesperado (7 intervenciones) el 24/05/2014 12:33:56
Tengo que hacer un problema de un cuadrado mágico. Ya tengo las matrices y ahora lo que necesito es que desde 1 hasta el orden de la matriz al cuadrado esten todos los numeros sin repetirse. Por ejemplo en una 2x2 estarían el 1,2,3,4 da igual el orden pero no se pueden repetir. Si esta bien te tiene que devolver TRUE. Por ejemplo n=2 (2,4;1,3) -> TRUE; n=2(3,2;34) ->FALSE.
De momento tengo esto pero funciona para algunas y para otras no. Si alguien me puede ayudar . Aparte de eso estan los procediminetos de la matriz pero esos si funconan
De momento tengo esto pero funciona para algunas y para otras no. Si alguien me puede ayudar . Aparte de eso estan los procediminetos de la matriz pero esos si funconan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
tpCuadMagic = array [tpDim,tpDim] of integer;
var CM:tpCuadMagic;
n:tpDIm;
function estanTodos(CM:tpCuadMagic; n:tpDim):boolean;
var i,j,p:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
for p:=1 to n*n do
begin
if (p=CM[i,n]) or (p=CM[n,j]) then
p:=p+1;
end;
if p=n*n then
estanTodos:=true
else
estanTodos:=false;
if (estanTodos=true) then
writeln ('True');
if (estanTodos=false) then
writeln('False');
readln;
end;
readln;
end;
Valora esta pregunta


0