Ensemble de chaines de caractères dans un tableau de pointeurs
safae
-
safaebazi Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
safaebazi Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
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
- Imprimer un tableau excel - 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;
}