LE forum de la Jet List' (Phelma) Index du Forum
S'enregistrerRechercherFAQListe des MembresGroupes d'utilisateursConnexion
C/C++
Aller à la page Précédente  1, 2, 3, 4, 5, 6  Suivante
 
Répondre au sujet    LE forum de la Jet List' (Phelma) Index du Forum » Pourrissage & Flood geek Voir le sujet précédent
Voir le sujet suivant
C/C++
Auteur Message
g@FF
PingouinatOr - Terreur de la banquise


Inscrit le: 26 Jan 2007
Messages: 1146
Localisation: Derrière toi & accessoirement à Phelma

Message Répondre en citant
Clair on continue ! Britman on attend ton solveur de sudoku !

Message personnel :

GOULIP, ENCULE Evil or Very Mad Evil or Very Mad Evil or Very Mad
MON PROF Y M'A PAS AIDE AU CONTRAIRE Y M'A ENGUEULE PARCE QUE J'AI PAS UTILISE LE MEME ALGORYTHME QUE LUI. ET JE TE RAPPELLE QUE J'AI AUSSI FAIT UN SOLVEUR DE SUDOKU ET LA TU ME DIRAS PAS QU'ON M'A AIDE ! Twisted Evil Evil or Very Mad Evil or Very Mad Evil or Very Mad Twisted Evil Evil or Very Mad Evil or Very Mad

(voilà c'était le quart d'heure du geek en colère)

_________________
Le floodeur fou a encore frappé. D'ailleurs :

Phelma Phelma Phelma Phelma Phelma Phelma Phelma
Ven Juin 29, 2007 7:24 pm Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
OK. attention j'envoie le paté

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:26 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
"fonctions.h"

bool Oulogique(bool *list,int N){
/* Réalise la fonction logique list[0] || list[1] ... || list[2] */
bool temporaire=false;
for (int i=0;i<N;i++){
temporaire=temporaire||list[i];
}
return temporaire;
}
bool parcourir(Pls_cases aparcourir,int n){
/* renvoie true si il n'y a pas deux cases ou plus avec la même valeur dans le même groupe */
int tot=0;
for (int k=0;k<9>Valeur==n) {tot++;}
}
return (tot==1 || tot==0);
}

bool parcourir2(Pls_cases aparcourir,int n){
/* renvoie true si il existe une case et une seule avec la valeur n dans le groupe */
int tot=0;
for (int k=0;k<9>Valeur==n) {tot++;}
}
return (tot==1);
}
void definir_pasposs(Pls_cases &adefinir,int n,bool &test){
/* définit la valeur n comme impossible pour toutes les cases du groupe */
for (int p=0;p<9>possibles[n]) test=true;
adefinir.cases[p]->possibles[n]=false;
}
}
bool Ouexclusif(bool *booleens,int N){
/* renvoie true si un et un seul des booléens vaut true */
int Nt=0,Nf=0;
for (int i=0;i<N;i++){
if (booleens[i]) Nt++;
if (!booleens[i]) Nf++;
}
return (Nt==1);
}
void charger_depuisfichier(Sudoku &grille){
/* demande où charger le fichier (avec la bonne structure de fichier), et le charge dans la grille donné en paramètre */
char nomfichier[256];
cout <<nom>grille).cases[i][j].Valeur=hypotheses[z];
Sudoku grille_temporaire=((rac.Successeurs[z])->grille).copie();
//réduction sans hypothèses du noeud enfant n°z
grille_temporaire.reduire_sans_hyp(0);
(rac.Successeurs[z])->grille=grille_temporaire.copie();
bool valid=(rac.Successeurs[z])->valider(0);
bool nonfini=!((rac.Successeurs[z])->grille).finie();
if ( nonfini && valid){
//auto-appel sur le noeud enfant n°z s'il est valide non fini
creation_arbre_hypotheses(*rac.Successeurs[z]);
}
}
}
void Barre(char Car, int nbCar) {
/* écrit nbCar fois le caractère Car */
for(int i=0; i<nbCar; i++) {
cout << Car;
}
}

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:27 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
"classes.h"

#include <iostream>
#include <fstream>

const int L[9]={0,0,0,1,1,1,2,2,2};
const int C[9]={0,1,2,0,1,2,0,1,2};

//méthodes de la classe Case
Case::Case(void){
/* constructeur qui effectue les initialisations nécessaires */
Valeur=0;
for(int i=1;i<10;i++){
possibles[i]=true;
};
}
int Case::nombrepossibles(){
/* retourne le nombre de possibilités pour cette case */
int N=0;
for (int k=1;k<10;k++){
if (possibles[k]) N++;
}
return N;
}
void Case::reduire(){
/* si la case n'a qu'une seule possibilités, affecte cette valeur à la case. sinon... c'est DTC */
if (nombrepossibles()==1){
for (int j=1;j<10;j++) { if (possibles[j]) Valeur=j; }
}else{
cout <<"réduction d'une case irréductible, t'es couillon ou quoi ?"<<endl;
}
}

//méthodes de la classe Pls_cases
Pls_cases::Pls_cases(void){
/* constructeur, effectue les initialisations nécessaires */
for(int k=0;k<9;k++){
cases[k]=NULL;
}
Num=0;
}
void Pls_cases::reduire(bool &test){
/* recherche une case seule solution pour un chiffre dans le groupe, et l'affecte alors à la case trouvée. sinon... c'est DTC */
test=false;
int p=0;
do{
p=0;
for (int n=1;n<10;n++){
;
int N=0,K=0;
for(int k=0;k<9>possibles[n]) {
N++;K=k;
}
}
if (N==1){
p++;
cases[K]->Valeur=n;
sudoku->definirpossibles();
test=true;
}
}

}while(p!=0);
}
void Pls_cases::reduire_doublettes(bool &test){
/* doublette: n.f non dérivé du film double impact, qui signifie que dans une zone donnée une série du genre (2,3) apparaît dans deux cases différentes, et deux seulement, on peut donc enlever toutes les autres possibilités de ces cases */
test=false;
for (int i=1;i<10;i++){
for (int j=i+1;j<10>i quel pervers!
int N=0;
int N1=0;
int N2=0;
int C[2]={0,0};

for (int k=0;k<9>possibles[i] && cases[k]-> possibles[j]) {
if (N<1>possibles[i]) N1++;
if (cases[k]->possibles[j]) N2++;
}
// N: nombre de cases avec la doublette
// N1: nombre de cases avec le premier chiffre de la doublette
// N2: nombre de cases avec le deuxième chiffre de la doublette
// si doublette il y a alors N=2, N1=2, N2=2 strictement
if (N==2 && N1==2 && N2==2){
for (int p=1;p<10>possibles[p])&&cases[C[1]]->possibles[p];
cases[C[0]]->possibles[p]=false;
cases[C[1]]->possibles[p]=false;
}
}
}
}
}
}
void Pls_cases::affichage(){
/* méthode d'affichage d'un groupe non ça ne marche pas pour les partouzes*/
if (Type==1){
for(int k=0;k<9;k++){
cout <<cases>Valeur << " " ;
if (k==2 || k==5){
cout << "|" ;
}
}
cout <<endl;
}
if (Type==2){
for(int k=0;k<9;k++){
cout <<cases>Valeur;
if (k==2 || k==5){
cout << endl << "-";
}
cout <<endl;
}
}
if (Type==3){
for(int k=0;k<9;k++){
cout <<cases>Valeur;
if (k==2 || k==5){
cout << endl;
}
}
cout << endl;
}
}
//méthodes de la classe Sudoku
Sudoku::Sudoku(void){
//Construit la grille, initialise les lignes, colonnes, cases, zones
for (int i=0;i<9;i++){
for (int j=0;j<9;j++){
cases[i][j].Valeur=0;
for (int k=1; k<10;k++) cases[i][j].possibles[k]=true;
}
}
for (int k=0;k<9;k++){ //initialise les groupes
lignes[k].Num=k;
colonnes[k].Num=k;
zones[k].Num=k;
for (int i=0;i<9> ce qui serait bien à faire: surcharger l'opérateur= avec cette fonction */
Sudoku St;
for (int i=0;i<9;i++){
for (int j=0;j<9;j++){
St.cases[i][j]=cases[i][j];
}
}
return St;
//les pointeurs des cases des lignes et des colonnes sont déjà bien dirigés (par le constructeur) vers les cases du sudoku parent
}
void Sudoku::affichage(bool possibles){
/* méthode d'affichage du sudoku :
si possibles vaut true, alors on n'affiche que la grille des possibilités
si possibles vaut false, alors on n'affiche que la grille des valeurs
si il vaut DTC c'est que tu t'es gouré qque part */
if (!possibles){
for (int i=0;i<9;i++){

if (i==0 || i==3 || i==6 || i==9){
cout << "----------------------"<<endl;
}

for (int j=0;j<10;j++){
if (i<=8 && (j==0 || j==3 || j==6 || j==9)){
cout << "|";
}//charabia incompréhensible n'est-ce pas ?
if(i<=8 && j<=Cool{
cout << cases[i][j].Valeur << " ";
}
}
cout << endl;
}
cout << "----------------------"<<endl;
}else{
cout << "-------------------------------------------------------------------------------------------"<<endl;
for (int i=0;i<9;i++){
cout << "|" ;
for (int j=0;j<9>0 && j!=3 && j!=6) cout << ",";
for (int k=1;k<10;k++) {
if (cases[i][j].possibles[k]) cout << k; else cout << " ";
}// de pire en pire
if (j==2 || j==5) cout << "|";
}
cout <<"|" << endl;

if (i==2 || i==5) cout << "-------------------------------------------------------------------------------------------"<<endl;
}
cout << "-------------------------------------------------------------------------------------------"<<endl;
}
}
bool Sudoku::valider(bool verbose){
/* renvoie true si la grille est valide c'est-Ã -dire si
aucune case n'a de valeurs <0>9
aucun groupe n'a deux cases avec la même valeur
*/
if (verbose) cout << "validation..." <<endl;
bool result=true;;
for (int i=0;i<9;i++){
for (int j=0;j<9>9 || cases[i][j].Valeur<0) result=false;
}
}

if (verbose) cout << "cases_result=" << result <<endl;

for (int k=0;k<9;k++){
for (int i=1;i<10;i++){
result = result && parcourir(colonnes[k],i);
result = result && parcourir(lignes[k],i);
result = result && parcourir(zones[k],i);
}
}

if (verbose) cout << "lignes-colonnes-zones_result=" << result <<endl> modification de la grille des possibilités en conséquence
*/
bool test_cr=false;
test=false;
int N=1;
do{
if (verbose) cout << " passe " << N << " : ";
N++;
for (int f=0;f<9;f++){ //boucle sur les zones
for (int n=1;n<10;n++){ // boucle sur les chiffres

// nl[i] vrai si il existe une case possible sur la ligne i; idem nc[3]
bool nl[3]={false,false,false};
bool nc[3]={false,false,false};
for (int g=0;g<9>possibles[n]) {
nl[L[g]]=true;
nc[C[g]]=true;
}
}
//étude de nl et nc
int Sl=0,Sc=0,c=0,l=0;
for (int d=0;d<3> ligne n° l+3*L[n°zone] de la grille
test_cr=false;
for (int k=0;k<9;k++){
if (k<3>=3*C[f]+3){
if ((lignes[l+3*L[f]].cases[k])->possibles[n]) { test_cr=true;test=true;}
(lignes[l+3*L[f]].cases[k])->possibles[n]=false;
}

}
if (test_cr){
if (verbose) cout << "{l" << (1+l+3*L[f]) << "," << n << "}";
}
}
if (Sc==1 && Sl!=1){
// la colonne c doit être traitée sans OGM j'espère!
// colonne c(0,1,2) de la zone --> colonne n° c+3*C[n°zone] de la grille
test_cr=false;
for (int z=0;z<9;z++){
if (z<3>=3*L[f]+3) {
if ((colonnes[c+3*C[f]].cases[z])->possibles[n]) { test_cr=true;test=true;}
(colonnes[c+3*C[f]].cases[z])->possibles[n]=false;
}
}
if (test_cr){
if (verbose) cout << "{c" << (1+c+3*C[f]) << "," << n << "}";
}
}
}
}
definirpossibles(); //redéfinition de la grille des possibles avant de lui repasser dessus... t'as les idées tordues !
if (verbose) cout << endl;
if (!test_cr && verbose) cout << " passe " << N << " : pas de modifications"<<endl;
}while(test_cr);

}
void Sudoku::min_possibilites(int &i,int &j,int &n){
/* cherche la case où il y a le moins de possibilités */
n=9;i=0;j=0;
int M=9;
for (int k=0;k<9;k++){
for (int l=0;l<9;l++){
int M=cases[k][l].nombrepossibles();
if (M<n> un tableau des possibles tous à false
un groupe avec une case avec une valeur => valeur impossible dans tout le groupe
une grille avec un groupe avec une case avec une valeur possible mais pas croyable comment t'as fait pour lire tout ça?
*/
bool test=false;
for (int i=0;i<9;i++){
for (int j=0;j<9;j++){
if (cases[i][j].Valeur!=0){
for (int k=1;k<10;k++) {
if (cases[i][j].possibles[k]) test=true;
cases[i][j].possibles[k]=false;

}
}
}
}
for (int k=0;k<9;k++){
for (int n=1;n<10;n++){
bool test_C=parcourir2(colonnes[k],n);
bool test_L=parcourir2(lignes[k],n);
bool test_Z=parcourir2(zones[k],n);

if (test_C) {
for (int l=0;l<9>Niveau+1;
} else {
Niveau=0;
}
}
void Noeud::Initialiser_Successeurs(int _nbSuccesseurs) {
/* supprime tous les noeuds fils, et en recrée des tout nouveaux tout beaux */
if(Successeurs!=ppN_NULL) {
Supprimer_Noeuds_Successeurs();
}
nbSuccesseurs=_nbSuccesseurs;
Successeurs = new pNoeud[nbSuccesseurs];
}
void Noeud::Supprimer_Successeurs() {
/* supprime le tableau de pointeurs vers les successeurs, sans supprimer physiquement la mémoire occupée par les successeurs */
if(Successeurs!=ppN_NULL) {
delete [] Successeurs;
}
nbSuccesseurs=0;
Successeurs=ppN_NULL;
}
Noeud::Noeud() {
/* constructeur qui effectue les initialisations nécessaires */
Niveau=0;
nbSuccesseurs=0;
Predecesseur=pN_NULL;
Successeurs=ppN_NULL;
}
Noeud::~Noeud() {
/* apelle une méthode récursive de suppression des noeuds successeurs */
Supprimer_Noeuds_Successeurs();
}
void Noeud::Supprimer_Noeuds_Successeurs() {
/* peu ou prou la même chose */
for(int i=0; i<nbSuccesseurs; i++) {
delete Successeurs[i];
}
Supprimer_Successeurs();
}
int Noeud::Lire_Niveau() const {
/* retourne la donnée Niveau, privée */
return Niveau;
}
int Noeud::Lire_nbSuccesseurs() const {
/* retourne la donnée nbSuccesseurs, privée */
return nbSuccesseurs;
}
bool Noeud::valider(bool verbose){
/* renvoie true si la grille associée au noeud est valide */
Sudoku grille_temporaire=grille.copie();
return grille_temporaire.valider(verbose);
}
void Noeud::Definir_Niveau(int _Niveau) {
/* manipulateur de modification de la donnée Niveau */
Niveau=_Niveau;
}
void Noeud::Definir_nbSuccesseurs(int _nbSuccesseurs) {
/* manipulateur de modification de la donnée nbSuccesseurs */
nbSuccesseurs=_nbSuccesseurs;
}
void Noeud::Afficher_Noeud() {
/* méthode d'affichage d'un Noeud */
Barre(' ',2*Niveau);
cout << Lire_Niveau();
cout << "+ Noeud (" << this << ") :" << " valide:" <<valider(0) << " finie:" << finie()<< endl ;
// affichage + complet de l'arbre, à décommenter si besoin est :
/*Barre(' ',2*Niveau);
cout << " - Niveau = " << Niveau << endl;
Barre(' ',2*Niveau);
cout << " - nbSuccesseurs = " << nbSuccesseurs << endl;
Barre(' ',2*Niveau);
cout << " - Predecesseur = " << Predecesseur << endl;
Barre(' ',2*Niveau);
cout << " - Successeurs[" << nbSuccesseurs << "] = { ";
for(int i=0; i<nbSuccesseurs>0) {
cout << ", ";
}
cout << Successeurs[i];
}
cout << " }" << endl;*/
cout << endl;
}
void Noeud::Afficher_Arbre() {
/* fonction récursive de parcours de l'arbre avec affichage de chaque noeud */
Afficher_Noeud();
for(int i=0; i<nbSuccesseurs>Afficher_Arbre();
}
}
bool Noeud::finie(void){
/* retourne true si la grille associée au noeud est valide */
Sudoku grille_temporaire=grille.copie();
return grille_temporaire.finie();
}
int p_sol=0; // variable globale nécessaire pour donner le nombre de solutions
void Noeud::parcourir_solutions() {
/* parcours l'arbre, comme pour l'affichage, mais dès que la méthode rencontre un noeud valide et fini, elle l'affiche, et incrémente p_sol. par contre elle laisse p_soriasis tranquille */
if (valider(0) && finie() ) {
p_sol++;
grille.affichage(0);
}
for(int i=0; i<nbSuccesseurs>parcourir_solutions();
}
}
void Noeud::Creer_Noeuds_Successeurs(int _nbSuccesseurs) {
/* crée des noeuds successeurs du noeud courant, en copie-collant la grille */
Initialiser_Successeurs(_nbSuccesseurs);
for(int i=0; i<_nbSuccesseurs>Predecesseur=this;
Successeurs[i]->Calculer_Niveau();
Successeurs[i]->grille=grille.copie();
}
}

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:27 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
"protos.h"

using namespace std;

class Sudoku;
class Case;
class Pls_cases;
class Noeud;

//fonction utiles
bool Oulogique(bool*,int);
bool parcourir(Pls_cases,int);
bool parcourir2(Pls_cases,int);
void definir_pasposs(Pls_cases&,int,bool&);
bool Ouexclusif(bool*,int);
void charger_depuisfichier(Sudoku&);
void chargermanuellement(Sudoku&);
void creation_arbre_hypotheses(Noeud&);
void Barre(char,int);

class Case{
public:
//données de la classe
int Valeur;
bool possibles[10];
//constructeur. destructeur par défaut
Case(void);
//méthodes pour la résolution
void reduire();
int nombrepossibles();
};

class Pls_cases{
public:
//données de la classe
int Type;
int Num;
Case *cases[9];
Sudoku *sudoku;
//constructeur. destructeur par défaut
Pls_cases(void);
//méthodes pour la résolution
void reduire(bool&);
void reduire_doublettes(bool&);
//méthodes d'affichage
void affichage();
};

class Sudoku{
public:
//données de la classe
Case cases[9][9];
Pls_cases lignes[9];
Pls_cases zones[9];
Pls_cases colonnes[9];
//Noeud doit être une classe amie pour que les méthodes de résolution de la classe Noeud puissent accéder aux données de la grille qu'il contient
friend class Noeud;
//constructeurs. destructeur par défaut
Sudoku(void);
//méthode de copie
Sudoku copie(void);
//méthodes d'affichage
void affichage(bool);
//méthodes pouctr la résolution
bool valider(bool);
bool finie(void);
void reduire_cases(bool&,bool);
void reduire_pls_cases(bool&,bool);
void reduire_doublettes(bool&,bool);
void reduire_croisements_d(bool&,bool);
void reduire_sans_hyp(bool);
void min_possibilites(int &,int &,int &);
void definirpossibles(void);

};

/*
* Auteur: LANDERCY Jean
* Site Web: http://endorphin.imb.free.fr/
*/
typedef Noeud * pNoeud;
typedef pNoeud * ppNoeud;
const pNoeud pN_NULL=0;
const ppNoeud ppN_NULL=0;

class Noeud {
private:
int Niveau;
int nbSuccesseurs;
void Calculer_Niveau();
void Initialiser_Successeurs(int);
void Supprimer_Successeurs();
public:
pNoeud Predecesseur;
ppNoeud Successeurs;
//constructeurs et destructeurs
Noeud(void);
~Noeud(void);
void Supprimer_Noeuds_Successeurs(); //utilisée par le destructeur
//manipulateurs des données privées:
//Lecture
int Lire_Niveau(void) const;
int Lire_nbSuccesseurs(void) const;
//Ecriture
void Definir_Niveau(int);
void Definir_nbSuccesseurs(int);
//méthode d'affichage
void Afficher_Noeud();
void Afficher_Arbre();

//à partir de là : modification de la classe
//classes amies
friend class Sudoku;
friend class Case;
friend class Pls_cases;
//données de la classe
Sudoku grille;
//méthodes pour la résolution : modification de la classe
bool valider(bool);
bool finie(void);
void parcourir_solutions();
void Creer_Noeuds_Successeurs(int);

};

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:27 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
"main.C"

#include <iostream>
#include <fstream>
#include "protos.h" //prototypes des fonctions et classes
#include "classes.h" //méthodes des classes
#include "fonctions.h" //fonctions extérieures aux classes

using namespace std;

class Sudoku;
class Pls_cases;
class Case;
class Noeud;

main(){
int rep=0;
Sudoku grille0;
do{
cout <<solveur>gestion reduction basique"<<endl;
cout <<gestion>gestion croisements deduits"<<endl;
cout <<gestion>gestion exhaustive des solutions" <<endl;
cout << "chargement à partir d'un fichier sudoku : tapez 1" <<endl;
cout << "entrée manuelle des chiffres : tapez 2" <<endl>> rep;
}while(rep!=2 && rep!=1);
if (rep==1){
charger_depuisfichier(grille0);
}
if (rep==2){
chargermanuellement(grille0);
}
//on valide la grille0
bool test=grille0.valider(1);
if(!test){
cout <<"Grille non valide!"<<endl;
return 0;
}else{
cout <<"Grille valide!"<<endl;
//on affiche la grille0 sans la grille des possibles, inutile ici
//on sauvegarde la grille0 puis on commence à travailler sur la grille1
Noeud racine;
racine.grille=grille0.copie();
Sudoku grille1=racine.grille.copie();

grille1.reduire_sans_hyp(1);
if (!grille1.finie()) grille1.affichage(1);

if (grille1.finie()) {
cout << "Finie?" <<endl;
if (grille1.valider(0)){
cout << "Finie!"<<endl;
grille0.affichage(0);
grille1.affichage(0);
return 0;
}else{
cout << "Rapé... grille non valide" <<endl;
}
}else{
cout << "Debut des hypotheses..." <<endl;
}
Noeud racine_hypotheses;
racine_hypotheses.grille=grille1.copie();
creation_arbre_hypotheses(racine_hypotheses);
//racine_hypotheses.Afficher_Arbre();
racine_hypotheses.parcourir_solutions();//parcours les grilles valides et finies
cout << p_sol << " solutions"<<endl;
return 0;
}
}

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:28 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
ça te va ou tu veux aussi les 10 fichiers de mon vrai projet d'info ? Wink

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:28 pm Voir le profil de l'utilisateur Envoyer un message privé
Julien
Je te tuerai en dernier


Inscrit le: 29 Déc 2006
Messages: 16234
Localisation: Spartaaaa ! (Phelma)

Message Répondre en citant
Citation:
/*
* Auteur: LANDERCY Jean
* Site Web: http://endorphin.imb.free.fr/
*/

Ha non ça on sait faire aussi Rolling Eyes

_________________
Phelma
This is Phelma. Copy Phelma into your signature to help Jetlist' on his way to Google domination!
« les temps comme les oeufs sont durs et la bêtise n'a pas de limite. »
Jetlist = tas de cons
Ven Juin 29, 2007 7:30 pm Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
boah genre jlé super modifiée sa classe, regarde un peu Wink jé gardé le copyright par respect. bon stu veux jtenvoie une autre version sans sa classe mé c moins beau Very Happy

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:34 pm Voir le profil de l'utilisateur Envoyer un message privé
Goulip
Gravitation, dégravitation


Inscrit le: 29 Déc 2006
Messages: 17438
Localisation: Phelma

Message Répondre en citant
ridicules vous êtes les gars Laughing

_________________
6A Phelma inside

quoi de la viande après le poisson?
bah non c'est pas un problème, il suffit de prévoir... en plus c'est délicieux !
par contre, les champignons et Phelma c'est signé Dédé...
Ven Juin 29, 2007 7:36 pm Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur Adresse AIM Yahoo Messenger MSN Messenger
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
ok maitre yoda

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:37 pm Voir le profil de l'utilisateur Envoyer un message privé
Vero
Pingouin en extase devant Derrick


Inscrit le: 29 Déc 2006
Messages: 325

Message Répondre en citant
je suis bien d'accord! THIS IS MADNESSSSSSSSSSSSSSSS!
Ven Juin 29, 2007 7:37 pm Voir le profil de l'utilisateur Envoyer un message privé
Britman
Bouillie de pingouin aux sucs digestifs


Inscrit le: 29 Déc 2006
Messages: 5055
Localisation: ENSPG Grenoble

Message Répondre en citant
NO !

THIS

IS

SPARTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

_________________
Et paf l'évier !

Phelma c'est bien... ou pas ?

Phelma
Ven Juin 29, 2007 7:38 pm Voir le profil de l'utilisateur Envoyer un message privé
Goulip
Gravitation, dégravitation


Inscrit le: 29 Déc 2006
Messages: 17438
Localisation: Phelma

Message Répondre en citant
merde, véro est d'accord avec moi, vous êtes pas ridicules en fait Laughing

_________________
6A Phelma inside

quoi de la viande après le poisson?
bah non c'est pas un problème, il suffit de prévoir... en plus c'est délicieux !
par contre, les champignons et Phelma c'est signé Dédé...
Ven Juin 29, 2007 7:40 pm Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur Adresse AIM Yahoo Messenger MSN Messenger
g@FF
PingouinatOr - Terreur de la banquise


Inscrit le: 26 Jan 2007
Messages: 1146
Localisation: Derrière toi & accessoirement à Phelma

Message Répondre en citant
comment c'est possible de se faire chier autant alors qu'avec qq boucles j'ai torché un solveur qui marche Question

_________________
Le floodeur fou a encore frappé. D'ailleurs :

Phelma Phelma Phelma Phelma Phelma Phelma Phelma
Ven Juin 29, 2007 7:41 pm Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:    
Répondre au sujet    LE forum de la Jet List' (Phelma) Index du Forum » Pourrissage & Flood geek Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3, 4, 5, 6  Suivante
Page 4 sur 6

 
Sauter vers: 
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.Traduction par : phpBB-fr.com