Tema: Ayuda con C
Ver Mensaje Individual
Antiguo 02/11/2009, 13:11   #20
antoniogas 
Usuario PREMIUM+
 
Avatar de antoniogas
 
Fecha de ingreso: 28/ene/2004
Mensajes: 590
antoniogas es realmente agradableantoniogas es realmente agradableantoniogas es realmente agradableantoniogas es realmente agradable
Hola de nuevo, perdonad por ser tan pesado, pero es que sigo encabezonado en imprimir la matriz por orden

Por ahora he conseguido imprimirla del uno al 45, pero no entiendo porqué se para en el 46, cuando deberia de seguir hasta el 49.

Os dejo todo el código, lo que he hecho yo para imprimirlo por orden, está al final del código.

Cita:
/*Programa que imprime un cuadrado magico impar*/
#include <stdio.h>
#include <conio.h>

main()
{
int cubo[7][7],x,y,n,p,f,me,pfila,pcolumna,ma,num;

printf( "\nCuadrado Magico de orden %dx%d :\n\n",7,7);

/*Se inicia los elementos del cuadrado magico con ceros*/
for(x=0;x<7;x++)
{
for(y=0;y<7;y++)
{
cubo[x][y]=0;
}
}
/*Se aplica el algoritmo general para obtener cuadrados magicos de orden impar*/
x=7/2;
y=2;
for(n=1;n<=7*7
{
if(!cubo[x][y]) /*si el elemento seleccionado es cero*/
{
cubo[x][y]=n++; /*se inserta un número natural */

if(++x<0)
x=7+x%7;
else
x=x%7;
}
else
{
if(--x<0)
x=7+x%7;
else
x=x%7;
}
if(--y<0)
y=7+y%7;
else
y=y%7;
}
/*se imprime el cuadrado magico en pantalla*/
ma=2;
me=0;
do
{
for(x=0;x<7;x++)
{
for(y=0;y<7;y++)
{
if(cubo[x][y]>me && cubo[x][y]<ma)
{
num=cubo[x][y];
pfila=3*(x+10);
pcolumna=y+10;
gotoxy(pfila,pcolumna);
printf("%d",num);
getch();
me++;
ma++;
x=0;
y=0;
}
}
}
}
while(num>49);
}
Bueno, ahora se imprime hasta el 45, y quedan 4 por imprimir y no se porque...

Salu2

Última edición por antoniogas; 02/11/2009 a las 13:21.
antoniogas está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir