Programmation en C les tableaux
Fermé
Tom
-
Modifié par Tom le 11/11/2011 à 17:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 12 nov. 2011 à 11:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 12 nov. 2011 à 11:29
A voir également:
- Programmation en C les tableaux
- Tableaux croisés dynamiques - Guide
- Application de programmation - Guide
- Fusionner deux tableaux excel - Guide
- Mise en forme tableau word - Guide
- Triez le tableau pour que les villes les plus peuplées soient en haut - Guide
3 réponses
mcdavis
Messages postés
10
Date d'inscription
vendredi 11 novembre 2011
Statut
Membre
Dernière intervention
13 novembre 2011
6
Modifié par mcdavis le 12/11/2011 à 00:28
Modifié par mcdavis le 12/11/2011 à 00:28
Je crois :
char voyelleEnCommun[]; int j, k, l=0; for(j=i;j>0;j--) { // pour chaque lettre du nom for(k=0;k<6;k++) { // on test chaque voyelles if(nom[i] == voyelle[k]) { voyelleEnCommun[l] = voyelle[k]; // On note la voyelle en commun l++; // dans un tableau } else ; } } // on a tester toutes les lettres du mot for(;l>0;l--) // l le nombre ee voyelles en commun printf("%c ,", voyelleEnCommun[l]); // affiche les voyelles trouver printf(" sont presentes dans votre nom"); }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 12/11/2011 à 10:45
Modifié par fiddy le 12/11/2011 à 10:45
Bonjour,
Plusieurs remarques :
main() -> int main (void)
Tu peux directement déclarer ton tableau de voyelle en une ligne :
char voyelle[]="aeiou";
void main(){ ???
Attention tu déclares une fonction dans une fonction (de même nom en plus).
Pour le scanf, je te conseille :
scanf("%19s %19s",nom,prenom);
Pour le nombre de lettre, tu peux utiliser directement la fonction strlen.
strlen(nom) qui te renverra le nombre de caractères.
Pour évaluer le nombre de voyelles, tu peux faire :
A partir de ça, tu peux
fflush(stdin);
A ne jamais utiliser.
Et enfin n'oublie pas : "return 0;" juste après ton dernier getchar();
Cordialement,
Google is your friend
Plusieurs remarques :
main() -> int main (void)
Tu peux directement déclarer ton tableau de voyelle en une ligne :
char voyelle[]="aeiou";
void main(){ ???
Attention tu déclares une fonction dans une fonction (de même nom en plus).
Pour le scanf, je te conseille :
scanf("%19s %19s",nom,prenom);
Pour le nombre de lettre, tu peux utiliser directement la fonction strlen.
strlen(nom) qui te renverra le nombre de caractères.
Pour évaluer le nombre de voyelles, tu peux faire :
for(i=0; i < strlen(voyelle) + 1; i++) if ( strchr(nom, voyelle[i]) ) printf("voyelle commune : \n", voyelle[i]);
A partir de ça, tu peux
fflush(stdin);
A ne jamais utiliser.
Et enfin n'oublie pas : "return 0;" juste après ton dernier getchar();
Cordialement,
Google is your friend
mcdavis
Messages postés
10
Date d'inscription
vendredi 11 novembre 2011
Statut
Membre
Dernière intervention
13 novembre 2011
6
12 nov. 2011 à 10:56
12 nov. 2011 à 10:56
Juste une petite erreur :
printf("Voyelle en commun : %c \n", voyelle[i]);
printf("Voyelle en commun : %c \n", voyelle[i]);
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
12 nov. 2011 à 11:25
12 nov. 2011 à 11:25
Très juste :-).
12 nov. 2011 à 10:44
Tu as oublié de déclarer la taille du tableau.
if(nom[i] == voyelle[k]) {
C'est quoi i ? l plutôt non ?
12 nov. 2011 à 10:54
char voyelleEnCommun[i+1];// nombre de lettre du nom
et pour le if c'est nom[j] car c'est la lettre du nom qu'on est entrain de tester
12 nov. 2011 à 11:07
C'est quoi le i ?
Modifié par mcdavis le 12/11/2011 à 11:16
12 nov. 2011 à 11:29
Dans ce cas, for(j=i;j>0;j--), il vaut mieux commencer à i-1, sinon tu commences avec '\0'. Certes rien de dramatique.
Sinon pour Tom,
Si tu utilises cet algorithme, n'oublie pas de mettre ton compilateur en ISO C99, sinon cela ne fonctionnera pas. Ou alors utilise malloc pour faire déclarer le tableau.