A voir également:
- Gestion de chaines de char en C
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion cave à vin gratuit - Télécharger - Cuisine & Gastronomie
- Comment décrypter les chaînes cryptées sur eutelsat 16a ✓ - Forum Programmation
4 réponses
bucheron
Messages postés
62
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
10 décembre 2004
2
13 juin 2004 à 21:43
13 juin 2004 à 21:43
Slt tonguim,
La boucle 'for' que tu as mis est _presque_ bonne :
car la fonction strlen renvoie (si mes souvenir sont bons) la taille de la chaîne, et non pas l'indice du dernier caractère (qui est taille - 1).
presque le même code pour cette question (presque la même question ...)
-la chaine saisie à rebours sans changer le contenu de la variable qui contient la chaîne
La boucle 'for' que tu as mis est _presque_ bonne :
for (i = strlen (txt) - 1 ; i >= 0; i = i - 1) { puts(txt[i]); }
car la fonction strlen renvoie (si mes souvenir sont bons) la taille de la chaîne, et non pas l'indice du dernier caractère (qui est taille - 1).
-la chaine à rebours apres avoir inversé l'ordre des caractères dans la variable qui contient la chaîne
presque le même code pour cette question (presque la même question ...)
int taille = strlen (txt) - 1; ... for (i = taille ; i >= 0; i = i - 1) { chaine_inv[taille - i] = txt[i]; } chaine_inv[taille+1] = '\0' // marqueur de fin de chaîne puts (chaine_inv);
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
14 juin 2004 à 15:30
14 juin 2004 à 15:30
Salut,
Compilé et testé ca marche voici le code:
Compilé et testé ca marche voici le code:
#include <stdio.h> #include <string.h> void main () { char txt[200]; char chaine_inv[200]=""; int i = 0, j = 0, nbre_e = 0; int taille=0; printf("Veuillez entrer une chaine: "); gets(txt); printf("\n\nLa longueur de la chaine entree est: %d", strlen(txt)); taille=strlen(txt)-1; for (i=0;i<=taille; i++) { if (txt[i] == 'e') nbre_e = nbre_e + 1; } printf ("\n\nLe nombre de caracteres e contenus dans cette chaine est: %d\n", nbre_e); for (i = taille ; i >= 0; i = i - 1) { chaine_inv[taille - i] = txt[i]; } chaine_inv[taille+1] = '\0'; puts (chaine_inv); }
Utilisateur anonyme
14 juin 2004 à 18:55
14 juin 2004 à 18:55
Cette fois, le programme produit les resultats attendus.
Merci a tous
J'ai un autre programme sur lequel je reflechis depuis ...en vain. Mais il faut que je cherche encore.
Merci a tous
J'ai un autre programme sur lequel je reflechis depuis ...en vain. Mais il faut que je cherche encore.