Ensemble de chaines de caractères dans un tableau de pointeurs
safae
-
safaebazi Messages postés 1 Statut Membre -
safaebazi Messages postés 1 Statut Membre -
Bonjour,
veuillez m'aidez svp pour résoudre ce problème là " Ecrire une fonction qui permet de saisir à partir du clavier un ensemble de chaines de caractères. L'ensemble se termine avec la chaine "fin" qui n'est pas incluse dans le tableau. Le tableau doit rester constamment trié en ordre croissant (ordre lexicographique) au cours de la saisie.
La mémoire nécessaire pour implanter chaque chaine doit être allouée au fur et à mesure de la lecture de celles-ci avec la fonction malloc.
La taille du tableau de pointeurs est fixe et est égal à 20.
Ecrire une fonction main() qui fait la saisie d'un tableau de chaines de caractères en appelant la fonction ci-dessus puis l'affiche à l'aide d'une deuxième fonction qu'on définit aussi." et merci
veuillez m'aidez svp pour résoudre ce problème là " Ecrire une fonction qui permet de saisir à partir du clavier un ensemble de chaines de caractères. L'ensemble se termine avec la chaine "fin" qui n'est pas incluse dans le tableau. Le tableau doit rester constamment trié en ordre croissant (ordre lexicographique) au cours de la saisie.
La mémoire nécessaire pour implanter chaque chaine doit être allouée au fur et à mesure de la lecture de celles-ci avec la fonction malloc.
La taille du tableau de pointeurs est fixe et est égal à 20.
Ecrire une fonction main() qui fait la saisie d'un tableau de chaines de caractères en appelant la fonction ci-dessus puis l'affiche à l'aide d'une deuxième fonction qu'on définit aussi." et merci
A voir également:
- Ensemble de chaines de caractères dans un tableau de pointeurs
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
1 réponse
je pense la répense est :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void saisi(char *liste_mot[],int taille)
{ int n,i;
for (i=0;i<taille+1;i++)
{
printf("donner la taille de chaine %d\t",i+1);
scanf("%d",&n);
liste_mot[i]=(char *) malloc(n*sizeof(char));
printf("donner les chaines %d\t",i+1);
scanf("%s",liste_mot[i]);
}
}
void affiche(char *liste_mot[], char charon2[],int taille)
{
int i,j;
printf("l'ensemble de chaines est :\n");
for(i=0; i<taille; i++)
{
for(j=0; j<taille; j++)
{
if(strcmp(liste_mot[i],liste_mot[j])<0)
{
strcpy(charon2, liste_mot[i]);
strcpy(liste_mot[i], liste_mot[j]);
strcpy(liste_mot[j], charon2);
}
}
}
for(i=0; i<taille; i++)
{
printf("%s\n", liste_mot[i]);
}
}
int main() {
int taille=20 ;
char *charon2;
charon2=(char*)calloc(20,sizeof(char));
char *liste_mot[taille];
saisi(liste_mot, taille);
affiche(liste_mot,charon2,taille);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void saisi(char *liste_mot[],int taille)
{ int n,i;
for (i=0;i<taille+1;i++)
{
printf("donner la taille de chaine %d\t",i+1);
scanf("%d",&n);
liste_mot[i]=(char *) malloc(n*sizeof(char));
printf("donner les chaines %d\t",i+1);
scanf("%s",liste_mot[i]);
}
}
void affiche(char *liste_mot[], char charon2[],int taille)
{
int i,j;
printf("l'ensemble de chaines est :\n");
for(i=0; i<taille; i++)
{
for(j=0; j<taille; j++)
{
if(strcmp(liste_mot[i],liste_mot[j])<0)
{
strcpy(charon2, liste_mot[i]);
strcpy(liste_mot[i], liste_mot[j]);
strcpy(liste_mot[j], charon2);
}
}
}
for(i=0; i<taille; i++)
{
printf("%s\n", liste_mot[i]);
}
}
int main() {
int taille=20 ;
char *charon2;
charon2=(char*)calloc(20,sizeof(char));
char *liste_mot[taille];
saisi(liste_mot, taille);
affiche(liste_mot,charon2,taille);
return 0;
}