Langage C Carré magique (Débutant)
Salem
-
.N Messages postés 27 Statut Membre -
.N Messages postés 27 Statut Membre -
Bonjour,
En dev C++ , en langage C non pas C++
Dans un exercice , je dois faire un programme qui crée un carré magique d'ordre impair , cet ordre est donné comme une constante en haut du programme , que je pourrais modifier comme je veux pour avoir un carré plus grand , j'ai donc fait mon programme avec des actions simples , tres simples meme , sans biensur que l'utilisateur (qui sera moi , qui ne veut que voir le carré a la fin) ait a entrer qqch au clavier . Le problème , rien n'arrive quand j'execute , pourtant , je suis presque sûr de l'enchaînement logique de mon programme.
Merci de me dire où est l'erreur
En dev C++ , en langage C non pas C++
Dans un exercice , je dois faire un programme qui crée un carré magique d'ordre impair , cet ordre est donné comme une constante en haut du programme , que je pourrais modifier comme je veux pour avoir un carré plus grand , j'ai donc fait mon programme avec des actions simples , tres simples meme , sans biensur que l'utilisateur (qui sera moi , qui ne veut que voir le carré a la fin) ait a entrer qqch au clavier . Le problème , rien n'arrive quand j'execute , pourtant , je suis presque sûr de l'enchaînement logique de mon programme.
Merci de me dire où est l'erreur
#include <stdio.h>
#include <stdlib.h>
#define N 3
int main(int argc, char *argv[])
{
int T[N][N],L,C,M;
for(L=0;L<=N-1;L++)
{
for(C=0;C<=N-1;C++)
{
T[L][C]=0;
}
}
T[(N+1)/2][(N-1)/2]=1;
L=(N+1)/2;
C=(N-1)/2;
do
{
if(L!=N-1 && C!=N-1)
{
if(T[L+1][C+1]==0)
{
T[L+1][C+1]=T[L][C]+1;
L++;
C++;
}
else
{
if(L!=N-2)
{
T[L+2][C]=T[L][C]+1;
L=L+2;
}
else
{
T[0][C]=T[L][C]+1;
L=0;
}
}
}
if(L==N-1 && C!=N-1)
{
if(T[0][C+1]==0)
{
T[0][C+1]=T[L][C]+1;
L=0;
C++;
}
else
{
T[1][C]=T[L][C]+1;
L=1;
}
}
if(L!=N-1 && C==N-1)
{
if(T[L+1][0]==0)
{
T[L+1][0]=T[L][C]+1;
L++;
C=0;
}
else
{
if(L==N-2)
{
T[0][C]=T[L][C]+1;
L=0;
}
else
{
T[L+2][C]=T[L][C]+1;
L=+2;
}
}
}
if(L==N-1 && C==N-1)
{
if(T[0][0]==0)
{
T[0][0]=T[L][C]+1;
L=0;
C=0;
}
else
{
T[1][C]=T[L][C]+1;
L=1;
}
}
M=0;
for(L=0;L<=N-1;L++)
{
for(C=0;C<=N-1;C++)
{
if(T[L][C]==0)
M++;
}
}
}while(M!=0);
for(L=0;L<=N-1;L++)
{
for(C=0;C<=N-1;C++)
{
printf("%d\t",T[L][C]);
}
printf("\n");
}
system("PAUSE");
return 0;
}
A voir également:
- Carré magique langage c
- Langage ascii - Guide
- Éponge magique danger - Guide
- Signe au carré ✓ - Chromebook
- Parenthese carre ✓ - Forum Word
- Parenthese carré ✓ - Forum Clavier