SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
TP1:Carré Magique
Implementation C++

Mohamed Boudchiche
        M.R.I.


   27 décembre 2012
main.cpp
                   Solution.h
                 Solution.cpp




Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                              Solution.h
                            Solution.cpp




main.cpp




           Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                                Solution.h
                              Solution.cpp




main.cpp
Solution.h




             Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                              Solution.h
                            Solution.cpp




main.cpp
Solution.h
Solution.cpp




           Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




#include <cstdlib>
#include <iostream>
#include "Solution.h"
using namespace std ;
int main(int argc, char *argv[])
{
  int premier[]={1,2,3,4,5,6,7,8,9} ;
  int dernier[]={9,8,7,6,5,4,3,2,1} ;
  solution first(premier) ;
  solution last(dernier) ;
  solution curent ;
  int iteration=1 ;
  for(curent=first ;curent<=last ;curent++)
  {
       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                           Solution.h
                         Solution.cpp




      if(curent.isMagic()) curent.print() ;
      iteration++ ;
    }
    cout«"Nombre iteration : "«k«endl ;
    system("PAUSE") ;
    return 0 ;
    }
}




        Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                   Solution.h
                 Solution.cpp




Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




class solution
{
  private :
     int permt[9] ;




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                          Solution.h
                        Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;
     void print() const ;




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;
     void print() const ;
     bool isMagic() const ;




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;
     void print() const ;
     bool isMagic() const ;
     bool operator<=(const solution&) ;



      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
  private :
     int permt[9] ;
  public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;
     void print() const ;
     bool isMagic() const ;
     bool operator<=(const solution&) ;
     solution& operator++(int) ;


      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
main.cpp
                         Solution.h
                       Solution.cpp




class solution
{
   private :
     int permt[9] ;
   public :
     solution() ;
     solution(int []) ;
     solution( const solution&) ;
     solution& operator=(const solution&) ;
     void print() const ;
     bool isMagic() const ;
     bool operator<=(const solution&) ;
     solution& operator++(int) ;
};

      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




solution : :solution()
{
}




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




solution : :solution()
{
}
solution : :solution(int a[9])
{
  for(int i=0 ;i<9 ;i++)
     permt[i]=a[i] ;
}




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




solution : :solution()
{
}
solution : :solution(int a[9])
{
  for(int i=0 ;i<9 ;i++)
     permt[i]=a[i] ;
}
solution : :solution(const solution& b)
{
  for(int i=0 ;i<9 ;i++)
     permt[i]=b.permt[i] ;
}

      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




solution& solution : :operator=(const solution& b)
{
  for(int i=0 ;i<9 ;i++)
     permt[i]=b.permt[i] ;
  return *this ;
}




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




bool solution : :operator<=(const solution& last)
{
  int k=0 ;
  for(int i=0 ;i<9 ;i++)
  {
     if(permt[i]<last.permt[i]) return true ;
     if(permt[i]=last.permt[i]) k++ ;
  }
  if(k==9-1)return true ;
  else return false ;
}



      Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                       operator=(const solution& b)
                           main.cpp
                                       operator<=(const solution& last)
                          Solution.h
                                       solution& solution : :operator++(int n)
                        Solution.cpp
                                       bool solution : :isMagic() const
                                       void solution : :print() const




solution& solution : :operator++(int n)
{
  solution& copy = *this ;
  for (int a = 9 - 2 ; a >= 0 ; –a)
     if (copy.permt[a] < copy.permt[a + 1])
     for(int b = 9 - 1 ;b>=0 ; –b)
       if (copy.permt[b] > copy.permt[a])
       {
          int t = copy.permt[a] ;
          copy.permt[a] = copy.permt[b] ;
          copy.permt[b] = t ;
          for (++a, b = 9 - 1 ; a < b ; ++a, –b)
            {
               t = copy.permt[a] ;
       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                        operator=(const solution& b)
                            main.cpp
                                        operator<=(const solution& last)
                           Solution.h
                                        solution& solution : :operator++(int n)
                         Solution.cpp
                                        bool solution : :isMagic() const
                                        void solution : :print() const




                      copy.permt[a] = copy.permt[b] ;
                      copy.permt[b] = t ;
                 }
                 return copy ;
         }
    return *this ;
}




        Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                       operator=(const solution& b)
                           main.cpp
                                       operator<=(const solution& last)
                          Solution.h
                                       solution& solution : :operator++(int n)
                        Solution.cpp
                                       bool solution : :isMagic() const
                                       void solution : :print() const



bool solution : :isMagic() const
{
  int som = 15 ;//(9*(9*9 +1))/2 ;
  int S ;




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                       operator=(const solution& b)
                           main.cpp
                                       operator<=(const solution& last)
                          Solution.h
                                       solution& solution : :operator++(int n)
                        Solution.cpp
                                       bool solution : :isMagic() const
                                       void solution : :print() const



bool solution : :isMagic() const
{
  int som = 15 ;//(9*(9*9 +1))/2 ;
  int S ;
  //–––-> Ligne
  for(int j=0 ;j<3 ;j++){
     S=0 ;
     for(int i=0 ;i<3 ;i++) S+=permt[i+j*3] ;
     if(som !=S) return false ;
  }




       Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                    operator=(const solution& b)
                        main.cpp
                                    operator<=(const solution& last)
                       Solution.h
                                    solution& solution : :operator++(int n)
                     Solution.cpp
                                    bool solution : :isMagic() const
                                    void solution : :print() const



bool solution : :isMagic() const
{
  int som = 15 ;//(9*(9*9 +1))/2 ;
  int S ;
  //–––-> Ligne
  for(int j=0 ;j<3 ;j++){
     S=0 ;
     for(int i=0 ;i<3 ;i++) S+=permt[i+j*3] ;
     if(som !=S) return false ;
  }
  //–––-> Colone
  for(int j=0 ;j<3 ;j++){
     S=0 ;
     for(int i=0 ;i<3 ;i++)S+=permt[j+i*3] ;
     if(som !=S) return false ;
  }    Etudiant: Mohamed Boudchiche TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                operator=(const solution& b)
                    main.cpp
                                operator<=(const solution& last)
                   Solution.h
                                solution& solution : :operator++(int n)
                 Solution.cpp
                                bool solution : :isMagic() const
                                void solution : :print() const




Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                    operator=(const solution& b)
                        main.cpp
                                    operator<=(const solution& last)
                       Solution.h
                                    solution& solution : :operator++(int n)
                     Solution.cpp
                                    bool solution : :isMagic() const
                                    void solution : :print() const




//–––-> Diagonale
S=0 ;
for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ;
if(som !=S) return false ;




    Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                        operator=(const solution& b)
                            main.cpp
                                        operator<=(const solution& last)
                           Solution.h
                                        solution& solution : :operator++(int n)
                         Solution.cpp
                                        bool solution : :isMagic() const
                                        void solution : :print() const




    //–––-> Diagonale
    S=0 ;
    for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ;
    if(som !=S) return false ;
    //–––-> AntiDiagonale
    S=0 ;
    for(int i=0 ;i<3 ;i++)S+=permt[3-1-i+i*3] ;
    if(som !=S) return false ;
    return true ;
}




        Etudiant: Mohamed Boudchiche    TP1:Carré Magique
solution() ; solution(int a[9]) ; solution(const solution& b)
                                      operator=(const solution& b)
                          main.cpp
                                      operator<=(const solution& last)
                         Solution.h
                                      solution& solution : :operator++(int n)
                       Solution.cpp
                                      bool solution : :isMagic() const
                                      void solution : :print() const




void solution : :print() const
{
  for(int i=0 ;i<3 ;i++)
  {
     cout « "+–-+–-+–-+"« endl ;
     for(int j=0 ;j<3 ;j++)
       cout « "| "« permt[j+i*3] « " " ;
     cout « "+–-+–-+–-+"« endl « endl ;
  }
}




      Etudiant: Mohamed Boudchiche    TP1:Carré Magique

Contenu connexe

En vedette

En vedette (6)

DNS
DNSDNS
DNS
 
part of speech tagger for ARABIC TEXT
part of speech tagger for ARABIC TEXTpart of speech tagger for ARABIC TEXT
part of speech tagger for ARABIC TEXT
 
Introduction à MATLAB
Introduction à MATLABIntroduction à MATLAB
Introduction à MATLAB
 
Développement Sous Android
Développement Sous AndroidDéveloppement Sous Android
Développement Sous Android
 
Cours rn 2006
Cours rn 2006Cours rn 2006
Cours rn 2006
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 

Dernier (20)

DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 

Carré Magique Cpp

  • 1. TP1:Carré Magique Implementation C++ Mohamed Boudchiche M.R.I. 27 décembre 2012
  • 2. main.cpp Solution.h Solution.cpp Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 3. main.cpp Solution.h Solution.cpp main.cpp Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 4. main.cpp Solution.h Solution.cpp main.cpp Solution.h Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 5. main.cpp Solution.h Solution.cpp main.cpp Solution.h Solution.cpp Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 6. main.cpp Solution.h Solution.cpp #include <cstdlib> #include <iostream> #include "Solution.h" using namespace std ; int main(int argc, char *argv[]) { int premier[]={1,2,3,4,5,6,7,8,9} ; int dernier[]={9,8,7,6,5,4,3,2,1} ; solution first(premier) ; solution last(dernier) ; solution curent ; int iteration=1 ; for(curent=first ;curent<=last ;curent++) { Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 7. main.cpp Solution.h Solution.cpp if(curent.isMagic()) curent.print() ; iteration++ ; } cout«"Nombre iteration : "«k«endl ; system("PAUSE") ; return 0 ; } } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 8. main.cpp Solution.h Solution.cpp Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 9. main.cpp Solution.h Solution.cpp class solution Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 10. main.cpp Solution.h Solution.cpp class solution { Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 11. main.cpp Solution.h Solution.cpp class solution { private : Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 12. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 13. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 14. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 15. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 16. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 17. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 18. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; void print() const ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 19. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; void print() const ; bool isMagic() const ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 20. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; void print() const ; bool isMagic() const ; bool operator<=(const solution&) ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 21. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; void print() const ; bool isMagic() const ; bool operator<=(const solution&) ; solution& operator++(int) ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 22. main.cpp Solution.h Solution.cpp class solution { private : int permt[9] ; public : solution() ; solution(int []) ; solution( const solution&) ; solution& operator=(const solution&) ; void print() const ; bool isMagic() const ; bool operator<=(const solution&) ; solution& operator++(int) ; }; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 23. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const solution : :solution() { } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 24. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const solution : :solution() { } solution : :solution(int a[9]) { for(int i=0 ;i<9 ;i++) permt[i]=a[i] ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 25. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const solution : :solution() { } solution : :solution(int a[9]) { for(int i=0 ;i<9 ;i++) permt[i]=a[i] ; } solution : :solution(const solution& b) { for(int i=0 ;i<9 ;i++) permt[i]=b.permt[i] ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 26. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const solution& solution : :operator=(const solution& b) { for(int i=0 ;i<9 ;i++) permt[i]=b.permt[i] ; return *this ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 27. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const bool solution : :operator<=(const solution& last) { int k=0 ; for(int i=0 ;i<9 ;i++) { if(permt[i]<last.permt[i]) return true ; if(permt[i]=last.permt[i]) k++ ; } if(k==9-1)return true ; else return false ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 28. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const solution& solution : :operator++(int n) { solution& copy = *this ; for (int a = 9 - 2 ; a >= 0 ; –a) if (copy.permt[a] < copy.permt[a + 1]) for(int b = 9 - 1 ;b>=0 ; –b) if (copy.permt[b] > copy.permt[a]) { int t = copy.permt[a] ; copy.permt[a] = copy.permt[b] ; copy.permt[b] = t ; for (++a, b = 9 - 1 ; a < b ; ++a, –b) { t = copy.permt[a] ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 29. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const copy.permt[a] = copy.permt[b] ; copy.permt[b] = t ; } return copy ; } return *this ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 30. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const bool solution : :isMagic() const { int som = 15 ;//(9*(9*9 +1))/2 ; int S ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 31. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const bool solution : :isMagic() const { int som = 15 ;//(9*(9*9 +1))/2 ; int S ; //–––-> Ligne for(int j=0 ;j<3 ;j++){ S=0 ; for(int i=0 ;i<3 ;i++) S+=permt[i+j*3] ; if(som !=S) return false ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 32. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const bool solution : :isMagic() const { int som = 15 ;//(9*(9*9 +1))/2 ; int S ; //–––-> Ligne for(int j=0 ;j<3 ;j++){ S=0 ; for(int i=0 ;i<3 ;i++) S+=permt[i+j*3] ; if(som !=S) return false ; } //–––-> Colone for(int j=0 ;j<3 ;j++){ S=0 ; for(int i=0 ;i<3 ;i++)S+=permt[j+i*3] ; if(som !=S) return false ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 33. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 34. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const //–––-> Diagonale S=0 ; for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ; if(som !=S) return false ; Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 35. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const //–––-> Diagonale S=0 ; for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ; if(som !=S) return false ; //–––-> AntiDiagonale S=0 ; for(int i=0 ;i<3 ;i++)S+=permt[3-1-i+i*3] ; if(som !=S) return false ; return true ; } Etudiant: Mohamed Boudchiche TP1:Carré Magique
  • 36. solution() ; solution(int a[9]) ; solution(const solution& b) operator=(const solution& b) main.cpp operator<=(const solution& last) Solution.h solution& solution : :operator++(int n) Solution.cpp bool solution : :isMagic() const void solution : :print() const void solution : :print() const { for(int i=0 ;i<3 ;i++) { cout « "+–-+–-+–-+"« endl ; for(int j=0 ;j<3 ;j++) cout « "| "« permt[j+i*3] « " " ; cout « "+–-+–-+–-+"« endl « endl ; } } Etudiant: Mohamed Boudchiche TP1:Carré Magique