begin process at 2012 05 30 19:03:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

tri d'un tableau de struct


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tri d'un tableau de struct

vendredi 20 mars 2009 à 05:16:08 | tri d'un tableau de struct

sdiri_med



Salut à tous
j'ai un petit problème de tri d'un tableau de structurede but d'extraire l'employer le plus âgé Pouvez-vous m'aider s.v.p a résoudre se problème par la méthode de tri si possible par une deuxième méthode ? voila mon code il explique un peux l'idée "deuxième méthode" que j'ai penser
merci bien d''avance

 				#include<stdio.h> 				
#include<conio.h>
#define max 10
 
typedefstruct CITOYEN
{
char nom[10] ;
char prenom[20];
int cin[8];
int jour[2];
int mois[2];
int annee[4];
int numrue[5] ;
char cite[15] ;
char ville[20];
int codp[10] ;
 
}cit;
 
int main()
{
int i;
 
cit t[max] ;
for(i=0;i<max;i++);
{
printf("donnez le nom :\n");
scanf("%s",&t[i].nom);
printf("donnez le prenom :\n");
scanf("%s",&t[i].prenom);
printf("donnez le num CIN :\n");
scanf("%d",&t[i].cin);
printf("donnez le jour de naissance :\n");
scanf("%d",&t[i].jour);
printf("donnez le mois de naissance :\n");
scanf("%d",&t[i].mois);
printf("donnez l'année :\n");
scanf("%d",&t[i].annee);
printf("donnez le numero de l'employé :\n");
scanf("%d",&t[i].numrue);
printf("donnez le city :\n");
scanf("%s",&t[i].cite);
printf("donnez la ville :\n");
scanf("%s",&t[i].ville);
printf("donnez le code postal :\n");
scanf("%d",&t[i].codp);
}
for(i=0;i<max;i++)
{
 
if(&t[i].annee == &t[i+1].annee)
{
if(&t[i].mois == &t[i+1].mois)
{
if(&t[i].jour == &t[i+1].jour)
{
// j'ai pas trouver une bonne idee ... mais l'idee consiste a
// je veux associer une variable j pour
//personne i et i+1 -> faire comparaison avec i+2..
}
}
}}
getch();
return(0);
}
vendredi 20 mars 2009 à 08:51:01 | Re : tri d'un tableau de struct

fregolo52

Membre Club
Réponse acceptée !
d'apres ce que tu as deja fait; je dirais :

int index_leplusage = 0;
for(i=0;i<max;i++)
{
 // je convertirais mes données pour faire 1 comparaison
int nb_de_i = t[i].jour + 100 * t[i].mois + 10000 * t[i].annee;
int nb_de_i_plus_1 = t[i+1].jour + 100 * t[i+1].mois + 10000 * t[i+1].annee;

if (nb_de_i_plus_1 < nb_de_i)
index_leplusage = i+1;

}

vendredi 20 mars 2009 à 08:52:08 | Re : tri d'un tableau de struct

fregolo52

Membre Club

oups j'ai validé un peu vite, tu auras compris que j'ai tout faux dans mon 'if' c'est l'inverse.
vendredi 20 mars 2009 à 13:45:12 | Re : tri d'un tableau de struct

sdiri_med

Réponse acceptée !
salut tout le monde
merci bien fregolo52une très très bonne idée de ta part j'ai testé cette solution mais le compilateur m'indique quelque erreurs

int nb_de_i = t[i].jour + 100 * t[i].mois + 10000 * t[i].annee;
int i_plus_1 = t[i+1].jour + 100 * t[i+1].mois + 10000 * t[i+1].annee;

for (i=0;i<10;i++)
{
if (i_plus_1 < nb_de_i)
{
p= i+1;
}
else
{
p=i;
}}}
vendredi 20 mars 2009 à 13:46:18 | Re : tri d'un tableau de struct

sdiri_med

voila les erreurs indiquée par les le compilo
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c||In function `int main()':|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|48|error: invalid operands of types `int' and `int[2]' to binary `operator*'|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|48|error: invalid operands of types `int' and `int[4]' to binary `operator*'|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|49|error: invalid operands of types `int' and `int[2]' to binary `operator*'|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|49|error: invalid operands of types `int' and `int[4]' to binary `operator*'|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|57|error: `p' was not declared in this scope|
C:\Documents and Settings\Administrateur\Bureau\med 3\Untit1.c|61|error: `p' was not declared in this scope|
||=== Build finished: 6 errors, 0 warnings ===|

vendredi 20 mars 2009 à 17:41:55 | Re : tri d'un tableau de struct

sdiri_med

Réponse acceptée !


salut pour tout le monde

 j'ai résolu ce problème moi même  j'ai déclaré les champs jour, mois et année comme étant des tableaux d'entiers plutôt que des entiers.

voila une declaration correcte :

[code]

typedef struct CITOYEN
{
        char nom[10] ;
        char prenom[20];
        int cin;
        int jour;
        int mois;
        int annee;
        int  numrue ;
        char cite ;
        char ville[20];
        int  codp ;

}cit;

[/code]

mais pourriez vous m'aider a trié ce tableau par date de naissance ?



Cette discussion est classée dans : int, printf, jour, scanf, mois


Répondre à ce message

Sujets en rapport avec ce message

tri d'un tableau de structure [ par sdiri_med ] bonjour pour tout le monde j'ai un petit problème de trie par age d'un tableau des employées voila mon code: [code] #include #include calendrier [ par chinois57 ] bjr tt le monde mon prof de math ma demander de faire un calendier perpituel en C mais je coince un peu bcp "please help me" ma source est :#include # programmation en C [ par badramus ] Bonjour voici  le programme que j'ai pu faire mais ça ne marche comme je le souhaite. veuillez m'aidez a reoudre ce problème.voici le programme       probleme de constucteur urgent [debutant] [ par yanne1985 ] salut class date{ int jour,mois,annee; public: date(int jour=0, int mois=0, int annee=0)     {     this->jour=jour;     this->mois=mois;     this->a programme en C [ par graminach ] on a un pb pour la question 2b!le programme ne tourne pas en boucle et affiche meme en cas de valeur correcte erreurmerci d'avancehttp://www-ipst.u-st Bug windows avec mon programme (nivo débutant) [ par MATHIS49 ] Bonjour ! Etant un gros debutant en C je m'essai à faire un programme d'amortissement tout simple. Mais le probleme c'est que windows plante lorsque j je cherche a traduire un code de VB vers VC++ [ par JoePatent ] Je cherche a traduire un code VB en VC++ . . . Voici le code :- - - - - -Function le_jour(ByVal annee As Integer, ByVal mois As Integer, ByVal jour As recherche comment faire fonctionner ce code via une interface graphique (pilotage port //) [ par cedpic ] voici le code que j ai creer qui marche tres bien en mode console mais je souhaiterais les piloter par une interface graphique en remplacent les bouto scanf d'une structure imbriqée [ par sdiri_med ] Bonsoir, j'ai rencontré beaucoup des problèmes avec les structures je voudrai vous demander comment faire un appel d'une structure dans une autre pou trier un tableau de stucture en c [ par peli20 ] [^^happy13]salut, j ai un petit probleme en c ,j espere que vous m aidiez.. bon, j essaie d elaborer un programme faisant la gestion des contact, le r


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 2,605 sec (3)

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