Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2972 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Comment trier des chaines de caractère dans un tableau ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment trier des chaines de caractère dans un tableau ?

n°1723547
Diego02
king_k
Posté le 24-04-2008 à 13:13:04  profilanswer
 

Slt, je suis un débutant en programmation et mon prof me dit d'écrire un programme qui permet de trier une liste de chaine de caractère inserée dans un tableau.Voici un peu ce que j'ai fait mais le compilateur m'indique des erreurs lvalue required.
 
 #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<stdlib.h>
#include<string.h>
struct etudiant{
    char nom[20];
    char prenom[30];
    int  numero;
 } *ref;
 
void main()
{ clrscr();
  int n,i;
  char *tamp,*tamp1;
  int tamp2,r;
  printf("\n Saisir le nombre des ‚tudiants:" );
  scanf("%d",&n);
 // TYPEDEF struct etudiant etu;
  ref=(struct etudiant *)calloc(n,sizeof(struct etudiant));
  if(ref!=NULL)
   {
    for(i=0;i<n;i++)
   { printf("\n\tSaisie de l'‚tudiant %d",i+1);
     printf("\n NOM:" );
     scanf("%s",&ref[i].nom);
     printf("\n PRENOM:" );
     scanf("%s",&ref[i].prenom);
     printf("\n NUMERO:" );
     scanf("%d",&ref[i].numero);
   }
   for(i=0;i<n;i++)
    { r=strncmp(ref[i].nom,ref[i+1].nom,2);
      if(r>0)
 { tamp=ref[i+1].nom;
   ref[i+1].nom=ref[i].nom;
   ref[i].nom=tamp;
   tamp1=ref[i+1].prenom;
   ref[i+1].prenom=ref[i].prenom;
   ref[i].nom=tamp1;
   tamp2=ref[i+1].numero;
   ref[i+1].numero=ref[i].numero;
   ref[i].numero=tamp2;
 }
   for(i=0;i<n;i++)
    { clrscr();
     printf("\n\n\n\n\n\t\t Etudiant %d",i+1);
     printf("\n %s",ref[i].nom);
     printf("\n %s",ref[i].prenom);
     printf("\n %d",ref[i].numero);
    }
   }
   else
    { printf("\n PAS ASSEZ DE PLACE" ); }
    free(ref);
   getch();
  }

mood
Publicité
Posté le 24-04-2008 à 13:13:04  profilanswer
 

n°1723695
Trap D
Posté le 24-04-2008 à 14:51:24  profilanswer
 

Fais un effort si tu veux qu'on t'aide.
- Utilise les balises [cpp]
- Indique le message complet du compilo car il doit indiquer le nuéémro de ligne.

n°1723974
Trap D
Posté le 24-04-2008 à 18:40:22  profilanswer
 

Ces lignes sont fausses

Code :
  1. ref[i+1].nom=ref[i].nom;
  2.    ref[i].nom=tamp;


 

Code :
  1. ref[i+1].prenom=ref[i].prenom;
  2.    ref[i].nom=tamp1;


 

Code :
  1. ref[i+1].numero=ref[i].numero;
  2.    ref[i].numero=tamp2;


Il faut utiliser strcpy


Message édité par Trap D le 24-04-2008 à 18:40:45
n°1723991
Diego02
king_k
Posté le 24-04-2008 à 19:56:03  profilanswer
 

Merci pour votre aide .le programme marche avec strcpy.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Comment trier des chaines de caractère dans un tableau ?

 

Sujets relatifs
tableau en VB .netlogiciel pour comparer 2 fichiers caractere par caractere
Utiliser WorksheetFunction avec tableau objetpassage d'un tableau dans une fonction
traitement de formulaire en tableauscrollbarre verticale sur 1 cellule de mon tableau
les chaines de caracteres en assembleurConstruction de Tableau avec 3 colonnes apporté d autres feuilles.
[XML/XSL] - Récupérer une valeur d'un tableau excelCellules fusionnées dans un tableau de document Word
Plus de sujets relatifs à : Comment trier des chaines de caractère dans un tableau ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR