Langage C Carré magique (Débutant)
Salem
-
.N Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
.N Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
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
- Éponge magique danger - Guide
- Langage ascii - Guide
- Signe au carré ✓ - Chromebook
- Parenthese carre ✓ - Forum Word
- Parenthese carré ✓ - Forum Clavier