Aide en langage C

Le forum informatique pour discuter programmation, logiciels, os, etc...

Re: Aide en langage C

Messagepar Baschou » 01 Mar 10 à 17:31

Oki, merci ^^

J'en tiendrai compte pour les labos C. En algo, ces détails, ils s'en foutent un peu XD
Baschou
Modérateur Basch006
 
Messages: 6177
Inscription: 13 Juin 07 à 21:32
Sexe: Non spécifié

Re: Aide en langage C

Messagepar Baschou » 28 Mar 10 à 17:07

Petit up ('.')


Je dois partir de ce code :

Code: Tout sélectionner
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <assert.h>

void tri_insertion(struct etudiant *fiche, int n);

struct etudiant
{
   char nom[30+1];
   char prenom[30+1];
   char classe[30+1];
   char date_na[10+1];
};

int main()
{
   int cpt, dim;

   struct etudiant fiche[]={{"Bastin","Jonathan","info4","12/12/1989"},
            {"Margreve","Jonathan","info3","02/03/1990"},
            {"Sterkendries","Cedric","info1","07/10/1990"},
            {"Depireux","John","info1","11/01/1990"},
            {"Bruyere","Jeremy","info1","21/08/1990"},
            {"Colles","Bastien","info2","05/06/1989"},
            {"Grosjean","Tanguy","info1","31/12/1990"},
            {"Volont","Jonathan","info3","14/02/1989"},
            {"Janssen","Julien","info4","23/04/1989"},
            {"Lancelle","Mathieu","info3","02/12/1989"}};
   
   dim = sizeof(fiche)/sizeof(struct etudiant);
   
   tri_insertion(fiche, dim);
   
   for(cpt=0;cpt<dim;cpt++)
   {
      printf("\n\n%s",fiche[cpt].classe);
      printf("\n%s",fiche[cpt].nom);
      printf("\n%s",fiche[cpt].prenom);
      printf("\n%s",fiche[cpt].date_na);
   }

   getch();
   return 0;
}

void tri_insertion(struct etudiant *fiche, int n)
{
   int i;
   int nouvPos;
   char temp[30+1];
   struct etudiant tmp;

   for (i=0;i<n;i++)
   {
      nouvPos=i;
      
      while (nouvPos!=0 && ((0<strcmp(fiche[nouvPos-1].classe,fiche[nouvPos].classe)) || ((0==strcmp(fiche[nouvPos-1].classe,fiche[nouvPos].classe)) && (0<strcmp(fiche[nouvPos-1].nom,fiche[nouvPos].nom)))) )
      {
         tmp = fiche[nouvPos - 1];
         fiche[nouvPos-1] = fiche[nouvPos];
         fiche[nouvPos]=tmp;

         nouvPos--;
      }
   }
}


Modifiez l’exercice du tri par insertion de fiches étudiants
1. pour que la procédure de tri permute des adresses plutôt que des fiches entières: utilisez un tableau de pointeurs. (Version 1)
2. pour utiliser un tableau dynamique de fiches… (Version 2)
3. pour utiliser un tableau dynamique de pointeurs de fiches!!!(Version finale)
et on doit directement faire la version finale x)

Need help sur ce coup ._.
Dernière édition par Baschou le 28 Mar 10 à 17:59, édité 1 fois.
Baschou
Modérateur Basch006
 
Messages: 6177
Inscription: 13 Juin 07 à 21:32
Sexe: Non spécifié

Précédente

Retourner vers Informatique


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron