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 :

Carre magique : fonction de détection


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Carre magique : fonction de détection
    Bonjour a tous, tout d'abor je suis Guillaume étudiant a l'iut informatique de toulouse
    Je voudrai savoir pourquoi la fonction estCarréMagique me retourne rien de correcte ? il ya un retour booleen , mais la valeur reponse ne prend pas la bonne valeur

    La fonction estCarreMagique prend le carre et vérifie si la somme est égale a 65 , le seul blème c qu'il n'y a aucun traitement de faitsur la valeur reponse!
    Par defaut, le carre déclaré est magique .
    Merci de m'aider

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    #include <iostream>
    #include <windows.h>
     
     
     
    using namespace std;
     
    const int TAILLE_MAX = 100;
     
    // définition d'une matrice carree d'ordre TAILLE_MAX
    typedef int Carre[TAILLE_MAX][TAILLE_MAX];
     
    // Fonction sommeLigne
    int sommeLigne ( const Carre ok , const int n , const int i)
    {
     
        int som=0;
     
        for (int j=0 ; j < n; j++)
      {
       som = som + ok[i][j];
      }
        return som;
    }
     
    // Fonction sommeColonne
    int sommeColonne ( const Carre ok , const int n , const int j)
    {
     
        int som=0 ;
     
     
        for ( int i=0;  i< n ; i++ )
          {
             som = som + ok[j][i] ;
          }
         return som ;
    }
     
    //Fonction somme1èrediagonale
    int somme1erediagonale ( const Carre carre, const int n )
      {
         int som=0;
     
     
         for ( int i=0  ; i < n  ; i++   )
           {
              som = som + carre[i][i] ;
           }
         return som;
      }
    //Fonction somme 2ème diagonale
     
        int somme2emediagonale(const Carre carre, const int n)
    {
         int som=0 ;
         int i,j;
     
     
         for (  i=0  , j=n-1  ; i < n  ; i++ , j--  )
     
           {
              som = som + carre[i][j] ;
           }
     
          return som;
      }
     
    bool estCarreMagique ( const Carre ok, const int n )
    {
       int som;
       int i,j;
       bool reponse   ;
       som = sommeLigne(ok,n,i);
     
         if (  sommeColonne(ok,n,i) != som )
         {
          reponse = false;
          }
     
         return reponse;
    }
     
    int main()
    {
      int i,j,n,som;
      bool reponse;
     
    Carre ok = { {17, 24, 1, 8, 15 },
    {23, 5, 7, 14, 16},
    {4, 6, 13, 20, 22},
    {10, 12, 19, 21, 3},
    {11, 18, 25, 2, 9 }};
     
     
     
     
    reponse=estCarreMagique(ok,5);
    cout << reponse << endl ;
    Sleep(10000);
    }

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Il manque l'initialisation de tes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    bool estCarreMagique ( const Carre ok, const int n )
    {
    
       int i,j; // ????????
       bool reponse  =true ;
       int som = sommeLigne(ok,n,i);
     
         if (  sommeColonne(ok,n,i) != som )
         {
          reponse = false;
          }
     
         return reponse;
    }

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. Carré magique mauvais affichage
    Par bdptaki dans le forum Delphi
    Réponses: 8
    Dernier message: 14/05/2007, 16h43
  3. [TP] Programme carré magique
    Par Henry22 dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 31/03/2007, 14h40
  4. probléme carré magique
    Par pipip dans le forum C
    Réponses: 4
    Dernier message: 29/11/2006, 18h23
  5. le carré magique
    Par mahis_ dans le forum C
    Réponses: 29
    Dernier message: 15/11/2006, 17h28

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