Post on 24-Jun-2015
description
TP1:Carré MagiqueImplementation C++
Mohamed BoudchicheM.R.I.
27 décembre 2012
main.cppSolution.h
Solution.cpp
main.cppSolution.hSolution.cpp
Etudiant: Mohamed Boudchiche TP1:Carré Magique
main.cppSolution.h
Solution.cpp
main.cpp
Solution.hSolution.cpp
Etudiant: Mohamed Boudchiche TP1:Carré Magique
main.cppSolution.h
Solution.cpp
main.cppSolution.h
Solution.cpp
Etudiant: Mohamed Boudchiche TP1:Carré Magique
main.cppSolution.h
Solution.cpp
main.cppSolution.hSolution.cpp
Etudiant: Mohamed Boudchiche TP1:Carré Magique
main.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.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.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
copy.permt[a] = copy.permt[b] ;copy.permt[b] = t ;
}return copy ;
}return *this ;
}
Etudiant: Mohamed Boudchiche TP1:Carré Magique
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
bool solution : :isMagic() const{
int som = 15 ;//(9*(9*9 +1))/2 ;int S ;
//–––-> Lignefor(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 ;
}//–––-> Colonefor(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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
bool solution : :isMagic() const{
int som = 15 ;//(9*(9*9 +1))/2 ;int S ;//–––-> Lignefor(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 ;
}
//–––-> Colonefor(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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
bool solution : :isMagic() const{
int som = 15 ;//(9*(9*9 +1))/2 ;int S ;//–––-> Lignefor(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 ;
}//–––-> Colonefor(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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
//–––-> DiagonaleS=0 ;for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ;if(som !=S) return false ;//–––-> AntiDiagonaleS=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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
//–––-> DiagonaleS=0 ;for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ;if(som !=S) return false ;
//–––-> AntiDiagonaleS=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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid solution : :print() const
//–––-> DiagonaleS=0 ;for(int i=0 ;i<3 ;i++)S+=permt[i+i*3] ;if(som !=S) return false ;//–––-> AntiDiagonaleS=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
main.cppSolution.h
Solution.cpp
solution() ; solution(int a[9]) ; solution(const solution& b)operator=(const solution& b)operator<=(const solution& last)solution& solution : :operator++(int n)bool solution : :isMagic() constvoid 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