IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

le carré magique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 19
    Par défaut le carré magique
    salut tout le monde !

    ben j'ai essayé d'ecrire un programme qui teste si une matrice carrée est un carrée magique ou non, le programme que j'ai fait me parait logique mais j'arrive pas à detecter l'erreur ;voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    #include <stdio.h>
    #include <conio.h>
     
    main()
     
    { int a[20][20]; int i,j,n,s,t,magique;
     
           do
           { printf("entrer la valeur de n la dimension du c.m : ");scanf("%d",&n);
           }
            while ((n>20)||(n<=0));
    for(i=0;i<n;i++)
    { for(j=0;j<n;j++)
      {  printf("entrer la valeur de a[%i][%i]: ",i,j);scanf("%d",&a[i][j]);}
     }
     clrscr();
     for(i=0,s=0;i<n;i++)
      { s+=a[i][i];}
      t=s;
      for(i=0,s=0;i<n;i++)
      {s+=a[i][n-i-1];}
      if(s!=t) {magique=0;}
     
      for(i=0,s=0;i<n;i++)
       {for(j=0;j<n;j++)
        {s+=a[i][j];}
        if(s!=t) {magique=0;}
        }
     
       for(j=0,s=0;j<n;j++)
       {for(i=0;i<n;i++)
        {s+=a[i][j];}
        if(s!=t) {magique=0;}
     
        }
        if(magique==0) { printf(" n'est pas un carré magique");}
        else { printf("est un carré magique");}
     
        getch();
        }
    MERCI D'AVANCE

  2. #2
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    http://emmanuel-delahaye.developpez....s.htm#typemain

    c'est pas bon du tout ... a moins que ...

    et
    c'est pas standard.

    et honte a moi je ne sais pas ce qu'est un carré magique ...

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 19
    Par défaut standard...
    ben je travaille avec borland C++ ;le getch() c'est pour afficher le resultat parceque sinon le programme s'exsecute sans que le resultat s'affiche.....

    pour ce qui concerne le carré magique: c'est une matrice carrée dont la somme des éléments de chaque diagonale= la somme des element de chaque colonne=la somme des élement de chaque ligne.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 19
    Par défaut ...
    pour le main() je ne suis pas sûre mais je crois qu'on n'a pas besoin de int main() mais de main() puisque j'utilise getch() et non pas le return0 qui retoune une valeur entiere!!

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Une des joies du C :
    C'est qu'il faut mettre
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Par défaut
    tu n'a pas pas initialiser ton "magique" alors que rien ne t'assure qu'il differe de 0.

    le carre n'est pas magique dés que tu trouve une ligne, colonne ou diagonale qui differe de ta premier somme; alors pourqui tester tout.
    tu devrais plutot faire une fonction avec ton carré en entrée et un booleen en sortie et retourner dés que la condition est satisfaite.
    cest plus pro.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par mahis_
    pour le main() je ne suis pas sûre mais je crois qu'on n'a pas besoin de int main() mais de main() puisque j'utilise getch() et non pas le return0 qui retoune une valeur entiere!!
    Besoin ou pas, ça fait partie du standard, et ce que tu utilises dedans n'a rien à voir : dans tous les cas, main doit renvoyer un entier.

    Au passage, soigne l'indentation de ton code, tu verras que ça rend la lecture beaucoup plus facile (c'est fait pour ça).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de vitesse lors de recherche de carré magique
    Par niniwizard dans le forum Prolog
    Réponses: 22
    Dernier message: 16/01/2009, 13h11
  2. Construction Carré magique
    Par nianko dans le forum Débuter
    Réponses: 2
    Dernier message: 29/05/2008, 09h34
  3. Carré magique mauvais affichage
    Par bdptaki dans le forum Delphi
    Réponses: 8
    Dernier message: 14/05/2007, 16h43
  4. [TP] Programme carré magique
    Par Henry22 dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 31/03/2007, 14h40
  5. probléme carré magique
    Par pipip dans le forum C
    Réponses: 4
    Dernier message: 29/11/2006, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo