begin process at 2012 02 07 08:58:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.Net

 > LES TRIS EN C

LES TRIS EN C


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.Net Niveau :Débutant Date de création :21/03/2003 Date de mise à jour :21/03/2003 23:45:39 Vu :7 391

Auteur : chocho

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

c'est un script qui présente les trois méthode de tri (par extraction, à bulle et à deux) et leur temps de travail à partir d'un tableau d'entiers dont la taille est fixée par l'utilisateur

Source

  • #include <iostream.h>
  • #include <conio.h>
  • #include <dos.h>
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <time.h>
  • /* realisé le 14/03/2003 par fred pour le tp n°7*/
  • /*titre: chronométrage du temps des trois méthodes de tris*/
  • initable( int tableau1[],int); /*declaration des fonctions*/
  • tri_extraction(int tableau2[],int);
  • void duree_t1_t2 (struct time t1, struct time t2);
  • tri_bulles(int tableau3[],int);
  • tri_deux(int tableau4[],int);
  • initable_ordonnee(int tab[],int taille);
  • main() /*fonction main*/
  • {
  • cout<<"\tLES DIFFERENTS TRIS ET LEUR TEMPS D'APPLICATION"<<endl<<endl;
  • /*-------------------------declaration des variables---------------------------------*/
  • int taille;
  • char reponse;
  • /*---------------------------nombre d'éléments---------------------------------------*/
  • do
  • {
  • cout << "\tentrez le nombre d'éléments du tableau: "; /*définition de la longueur du tableau */
  • cin >> taille;
  • int *tableau= new int[taille]; /* déclaration du tableau de longueur taille*/
  • struct time t1; /* déclaration des deux variables temps*/
  • struct time t2;
  • /*-------------------------appel des fonctions------------------------------------------*/
  • cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
  • initable(tableau,taille);
  • /*-----------------------désordonné tri par extraction---------------------------------*/
  • cout<<"\ttri du tableau par extraction: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_extraction(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1 /* appel à la fonction qui affiche la durée du tri*/
  • cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
  • initable(tableau,taille);
  • /*-----------------------désordonné tri par à bulles------------------------------------*/
  • cout<<"\ttri du tableau par à bulles: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_bulles(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1
  • cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
  • initable(tableau,taille);
  • /*-----------------------désordonné tri par deux----------------------------------------*/
  • cout<<"\ttri du tableau par deux: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_deux(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1
  • cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
  • initable_ordonnee(tableau,taille);
  • /*------------------------ordonné tri par extraction-----------------------------------*/
  • cout<<"\ttri du tableau par extraction: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_extraction(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1
  • cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
  • initable_ordonnee(tableau,taille);
  • /*------------------------ordonné tri par bulles---------------------------------------*/
  • cout<<"\ttri du tableau par à bulles: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_bulles(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1
  • cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
  • initable_ordonnee(tableau,taille);
  • /*----------------------ordonné tri par deux---------------------------------------------*/
  • cout<<"\ttri du tableau par deux: appuyez sur entrée pour procéder"<<endl;
  • getch();
  • gettime(&t1); //temps t1 /* déclenchement du chrono*/
  • tri_deux(tableau,taille);
  • gettime(&t2); //temps t2
  • cout<<endl<<endl;
  • cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
  • getch();
  • cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
  • duree_t1_t2(t1, t2); //calcul de la durée t2-t1
  • /*----------------------fin de programme--------------------------------------------------*/
  • cout<<"\tvoulez vous recommencer?"<<endl;
  • cout<<"\tapez o pour oui et n pour non"<<endl;
  • cin>>reponse;
  • }while(reponse!='n');
  • }
  • /*-----------------------------------------------------------------------------------------*/
  • initable(int tableau1[],int taille)
  • {
  • int i;
  • for(i=0;i<taille;i++)
  • {
  • tableau1[i]=random(1000)+1;
  • }
  • /* for(i=0;i<taille;i++)
  • {
  • cout<<tableau1[i]<<" "<<endl;
  • } */
  • }
  • /*----------------------------------------------------------------------------------------*/
  • initable_ordonnee(int tab[],int taille)
  • {
  • int i;
  • for(i=0;i<taille;i++)
  • {
  • tab[i]=random(1000)+1;
  • }
  • tri_extraction(tab,taille);
  • /* for(i=0;i<taille;i++)
  • {
  • cout<<tab[i]<<" "<<endl;
  • } */
  • }
  • /*---------------------------------------------------------------------------------------*/
  • tri_extraction(int tableau2[],int taille)
  • {
  • int i,j,tampon;
  • for(j=0;j<taille;j++)
  • { /*quand tab[j](j=0) a ramassé le mini du tableau de valeurs tab[i]*/
  • for(i=j;i<taille;i++) /*on passe à tab[j+1] et on recommence une recherche de mini*/
  • {
  • if(tableau2[j]>tableau2[i])
  • {
  • tampon=tableau2[j];
  • tableau2[j]=tableau2[i];
  • tableau2[i]=tampon;
  • }
  • }
  • }
  • /* for(i=0;i<taille;i++)
  • {
  • cout<<tableau2[i]<<" "<<endl;
  • } */
  • }
  • /*---------------------------------------------------------------------------------------*/
  • tri_bulles(int tableau3[],int taille)
  • {
  • int i, tamp,rep;
  • while(rep)
  • {
  • rep=0; /*condition d'arret de la boucle*/
  • for(i=0;i<taille-1;i++)
  • {
  • if(tableau3[i]>tableau3[i+1]) // si besoins de trier alors permutation
  • { //et retour au rang n-1 pour refaire
  • tamp=tableau3[i]; //une comparaison et ainsi de suite
  • tableau3[i]=tableau3[i+1];
  • tableau3[i+1]=tamp;
  • i--; //une permutation a été effectuée
  • rep=1; //donc le tableau n'est pas trié
  • } //pas de condition d'arret
  • }
  • }
  • }
  • /*------------------------------------------------------------------------------------------*/
  • tri_deux(int tableau4[],int taille)
  • {
  • int i,j ,tampon,rang=taille; /*on pousse le maxi en bout de tableau*/
  • while(rang!=0)
  • {
  • for(j=0;j<rang;j++)
  • {
  • if(tableau4[j]>tableau4[j+1])
  • {
  • tampon=tableau4[j+1];
  • tableau4[j+1]=tableau4[j];
  • tableau4[j]=tampon;
  • }
  • }
  • rang--; /* on recommence avec une case du bout du tableau en moins*/
  • }
  • /* for(i=0;i<taille;i++)
  • {
  • cout<<tableau4[i]<<" "<<endl;
  • } */
  • }
  • /*------------------------------------------------------------------------------------------*/
  • void duree_t1_t2 (struct time t1, struct time t2)
  • {
  • struct time t;
  • // printf est l'équivalent de cout avec formatage des données
  • printf("\tTemps t1 : %2d:%02d:%02d:%02d", t1.ti_hour, t1.ti_min, t1.ti_sec, t1.ti_hund);
  • printf("\n\tTemps t2 : %2d:%02d:%02d:%02d", t2.ti_hour, t2.ti_min, t2.ti_sec, t2.ti_hund);
  • if (t2.ti_hund < t1.ti_hund) //
  • { t.ti_hund = t2.ti_hund+100-t1.ti_hund;
  • t2.ti_sec--; } //
  • // Calcul du nombre de centièmes
  • else //
  • t.ti_hund = t2.ti_hund-t1.ti_hund; //
  • if (t2.ti_sec < t1.ti_sec) //
  • { t.ti_sec = t2.ti_sec+60-t1.ti_sec;
  • t2.ti_min--; } //
  • // Calcul du nombre de seconde
  • else //
  • t.ti_sec = t2.ti_sec-t1.ti_sec; //
  • if (t2.ti_min < t1.ti_min) //
  • { t.ti_min = t2.ti_min+60-t1.ti_min;
  • t2.ti_hour--; } //
  • // Calcul du nombre de minutes
  • else //
  • t.ti_min = t2.ti_min-t1.ti_min; //
  • t.ti_hour = t2.ti_hour-t1.ti_hour; // Calcul du nombre d'heures
  • printf("\n\tDuree : %2d :%02d :%02d :%02d\n\n", t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
  • }
#include <iostream.h>
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* realisé le 14/03/2003 par fred pour le tp n°7*/
/*titre: chronométrage du temps des trois méthodes de tris*/

	
	initable( int tableau1[],int);                               /*declaration des fonctions*/
	tri_extraction(int tableau2[],int);
	void duree_t1_t2 (struct time t1, struct time t2);
	tri_bulles(int tableau3[],int);
	tri_deux(int tableau4[],int);
	initable_ordonnee(int tab[],int taille);

	main()                                                     /*fonction main*/
	{
	 cout<<"\tLES DIFFERENTS TRIS ET LEUR TEMPS D'APPLICATION"<<endl<<endl;
	/*-------------------------declaration des variables---------------------------------*/
	int taille;
	char reponse;

	/*---------------------------nombre d'éléments---------------------------------------*/
   do
	{
	cout << "\tentrez le nombre d'éléments du tableau: ";      /*définition de la longueur du tableau */
	cin >> taille;
	int *tableau= new int[taille];                            /* déclaration du tableau de longueur taille*/  	
	struct time t1;                                            /* déclaration des deux variables temps*/
	struct time t2;

	/*-------------------------appel des fonctions------------------------------------------*/

	cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
	initable(tableau,taille);

	/*-----------------------désordonné tri par extraction---------------------------------*/

	cout<<"\ttri du tableau par extraction: appuyez sur entrée pour procéder"<<endl;
	getch();
	gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_extraction(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1         /* appel à la fonction qui affiche la durée du tri*/ 	
	cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
	initable(tableau,taille);

	/*-----------------------désordonné tri par à bulles------------------------------------*/

	cout<<"\ttri du tableau par à bulles: appuyez sur entrée pour procéder"<<endl;
	getch();
	gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_bulles(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1	 
	cout<<"\n\tinialisation du tableau de valeurs désordonnées"<<endl;
	initable(tableau,taille);

	/*-----------------------désordonné tri par deux----------------------------------------*/

	cout<<"\ttri du tableau par deux: appuyez sur entrée pour procéder"<<endl;
	getch();
	gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_deux(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1 
	cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
	initable_ordonnee(tableau,taille);

	/*------------------------ordonné tri par extraction-----------------------------------*/

	cout<<"\ttri du tableau par extraction: appuyez sur entrée pour procéder"<<endl;
	getch();
	gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_extraction(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1	
	cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
	initable_ordonnee(tableau,taille);

	/*------------------------ordonné tri par bulles---------------------------------------*/

	cout<<"\ttri du tableau par à bulles: appuyez sur entrée pour procéder"<<endl;
	getch();
	gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_bulles(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1 	 
	cout<<"\n\tinialisation du tableau de valeurs ordonnées"<<endl;
	initable_ordonnee(tableau,taille);

	/*----------------------ordonné tri par deux---------------------------------------------*/
	cout<<"\ttri du tableau par deux: appuyez sur entrée pour procéder"<<endl;
	getch();
   gettime(&t1);   	//temps t1                               /* déclenchement du chrono*/
	tri_deux(tableau,taille);
	gettime(&t2);     //temps t2
	cout<<endl<<endl;
	cout<<"\taffichage du temps d'exécution de ce tri:appuyez sur entrée pour procéder"<<endl;
	getch();
	cout<<"\tle temps en heure, minute, seconde et centième est: "<<endl;
	duree_t1_t2(t1, t2);   //calcul de la durée t2-t1

	/*----------------------fin de programme--------------------------------------------------*/

	cout<<"\tvoulez vous recommencer?"<<endl;
	cout<<"\tapez o pour oui et n pour non"<<endl;
	cin>>reponse;
	}while(reponse!='n');
	}

	/*-----------------------------------------------------------------------------------------*/

	initable(int tableau1[],int taille)
	{
	int i;
		
		for(i=0;i<taille;i++)
		{
		tableau1[i]=random(1000)+1;
		}
	 /*  for(i=0;i<taille;i++)
		 {
		 cout<<tableau1[i]<<"  "<<endl;
		 } */
	}

	/*----------------------------------------------------------------------------------------*/
	initable_ordonnee(int tab[],int taille)
	{
		int i;
		
		for(i=0;i<taille;i++)
		{
		tab[i]=random(1000)+1;
		}
		tri_extraction(tab,taille);
	  /*	for(i=0;i<taille;i++)
		 {
		 cout<<tab[i]<<"  "<<endl;
		 } */	
	}

	/*---------------------------------------------------------------------------------------*/
	tri_extraction(int tableau2[],int taille)
	{
	int i,j,tampon;
		for(j=0;j<taille;j++)
		{                                           /*quand tab[j](j=0) a ramassé le mini du tableau de valeurs tab[i]*/ 
			for(i=j;i<taille;i++)                    /*on passe à tab[j+1] et on recommence une recherche de mini*/
			{
				if(tableau2[j]>tableau2[i])
				{
				 tampon=tableau2[j];
				 tableau2[j]=tableau2[i];
				 tableau2[i]=tampon;
				}
			}
		}
	  /* for(i=0;i<taille;i++)
		 {
		 cout<<tableau2[i]<<"  "<<endl;
		 } */
	}

	/*---------------------------------------------------------------------------------------*/
	tri_bulles(int tableau3[],int taille)
	{
	 int i, tamp,rep;
		while(rep)
		{
		rep=0;                                /*condition d'arret de la boucle*/
		for(i=0;i<taille-1;i++)
		{
			if(tableau3[i]>tableau3[i+1])      // si besoins de trier alors permutation
			{                                  //et retour au rang n-1 pour refaire
				tamp=tableau3[i];               //une comparaison et ainsi de suite
				tableau3[i]=tableau3[i+1];
				tableau3[i+1]=tamp;
				i--;                           //une permutation a été effectuée
				rep=1;                         //donc le tableau n'est pas trié
			 }                                //pas de condition d'arret
		}

	 }
	}

	/*------------------------------------------------------------------------------------------*/
	tri_deux(int tableau4[],int taille)
	{
		int i,j ,tampon,rang=taille;                 /*on pousse le maxi en bout de tableau*/
		while(rang!=0)
		{
			for(j=0;j<rang;j++)
			{ 
				if(tableau4[j]>tableau4[j+1])
				{
					tampon=tableau4[j+1];
					tableau4[j+1]=tableau4[j];
					tableau4[j]=tampon;
				}
			}
			rang--;                                  /* on recommence avec une case du bout du tableau en moins*/
		}
	/*	for(i=0;i<taille;i++)
		 {
		 cout<<tableau4[i]<<"  "<<endl;
		 }  */
	}

	/*------------------------------------------------------------------------------------------*/
	void duree_t1_t2 (struct time t1, struct time t2)
{ 
struct time t;
// printf est l'équivalent de cout avec formatage des données 
printf("\tTemps t1 : %2d:%02d:%02d:%02d", t1.ti_hour, t1.ti_min, t1.ti_sec, t1.ti_hund);
printf("\n\tTemps t2 : %2d:%02d:%02d:%02d", t2.ti_hour, t2.ti_min, t2.ti_sec, t2.ti_hund); 

 
  if (t2.ti_hund < t1.ti_hund) // 
  { t.ti_hund = t2.ti_hund+100-t1.ti_hund;
t2.ti_sec--; }  //
// Calcul du nombre de centièmes 
  else  // 
	 t.ti_hund = t2.ti_hund-t1.ti_hund;  // 
	  
  if (t2.ti_sec < t1.ti_sec)  // 
  { t.ti_sec = t2.ti_sec+60-t1.ti_sec; 
t2.ti_min--; }  //
// Calcul du nombre de seconde 
  else  // 
	 t.ti_sec = t2.ti_sec-t1.ti_sec;  // 
	  
  if (t2.ti_min < t1.ti_min) // 
  { t.ti_min = t2.ti_min+60-t1.ti_min;
t2.ti_hour--; }  //
// Calcul du nombre de minutes 
  else  // 
	 t.ti_min = t2.ti_min-t1.ti_min; // 
	 
  t.ti_hour = t2.ti_hour-t1.ti_hour;  // Calcul du nombre d'heures 
  
printf("\n\tDuree : %2d :%02d :%02d :%02d\n\n", t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);  
}



 Sources du même auteur

Source avec Zip CALCULEZ VOS IMPÔTS
TRIER UN TABLEAU DE NOTES
TIRAGE DU LOTO

 Sources de la même categorie

Source avec Zip Source avec une capture ANALYSEUR LEXICAL par Donald180v
Source avec Zip Source avec une capture MAP_MAKER_JEU par seekplus
Source avec Zip Source avec une capture Source .NET (Dotnet) EMISSION D'UN OCTET SUR LE PORT SÉRIE - CLASSE SERIALPORT par jmchatelet01
Source avec Zip Source .NET (Dotnet) RESOLV EQU DE DEGRES N par darckangel731
Source avec Zip Source avec une capture Source .NET (Dotnet) INTEROP XCHAT / .NET : CHARGEUR DE PLUGINS MANAGÉS par TeBeCo

Commentaires et avis

Commentaire de nikko le 24/03/2003 17:13:05

J'ai lu en diagonale, mais je croie que t'as oublié le tri le plus puissant en C: le tri qsort(). C'est dans la lib standard, et son prototype est sympa à voir ;-) T'as juste à passer en paramètres ce que tu veux trier, comment et le reste se fait à merveille !

Commentaire de eldered le 11/06/2003 19:41:56

Hum, Il n'y a pas que 3 méthodes de tris ...

Commentaire de pmbala le 13/12/2004 08:58:57

D'accord avec toi nikko,je trouve son travail pas mal,mais il pourrait effectivement utiliser le Quicksort qui est tres conseillé qd le tableau prend un grand nombre de données!

Aidez moi svp, est t-il possible de generer(C++, Maple ou Matlab) N nombres réels aléatoires de telle sorte que leur somme soit égale à 1???

Commentaire de erazor le 20/02/2005 15:04:25

tu genere n nombre reels puis tu les divise par 1/somme de tes n nombres reels

Commentaire de pmbala le 20/02/2005 15:39:04

merci c'est effectivement interessant,mais j'avais déja bouclé ce algo, j'avais pris des nbres n1,n2,n3,...nk tels que n1 est ds ]0,1[,puis n2 dans ]0,n1[ ainsi de suite,j'avais eu le resultat escompté,mais je crois que" c'est plus simple avec ce que tu me propose,merci encore...

Commentaire de XFG le 06/02/2007 10:45:59

a que ta source elle compile po... Probleme au niveau des structures time, donc doit manquer une ou deux biblios...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales