"Calcul " d'une chaîne de caractère en c++
Fermé
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
-
10 sept. 2019 à 20:23
[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 - 16 sept. 2019 à 16:18
[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 - 16 sept. 2019 à 16:18
Bonjour,
Je cherche depuis un certain temps comment pouvoir "calculer" le nombre de lettres qu'il y a dans une expression en C++.
J'ai une variable et je souhaite savoir combien de lettre il y a dedans.
Merci a tous ceux qui m'aideront !
Un novice en programmation
Je cherche depuis un certain temps comment pouvoir "calculer" le nombre de lettres qu'il y a dans une expression en C++.
J'ai une variable et je souhaite savoir combien de lettre il y a dedans.
Merci a tous ceux qui m'aideront !
Un novice en programmation
Configuration: Windows / Chrome 76.0.3809.132
A voir également:
- "Calcul " d'une chaîne de caractère en c++
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Calcul moyenne excel - Guide
- Chaine tnt gratuite sur mobile - Guide
3 réponses
yg_be
Messages postés
23505
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 mars 2025
Ambassadeur
1 572
10 sept. 2019 à 20:55
10 sept. 2019 à 20:55
bonjour, quel est le type de ta variable?
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
10 sept. 2019 à 20:56
10 sept. 2019 à 20:56
c'est un tabeau:
"
char prenom[5000]:
"
"
char prenom[5000]:
"
yg_be
Messages postés
23505
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 mars 2025
1 572
10 sept. 2019 à 21:08
10 sept. 2019 à 21:08
il peut donc contenir 5000 caractères. peux-tu préciser ta question?
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
>
yg_be
Messages postés
23505
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 mars 2025
11 sept. 2019 à 16:52
11 sept. 2019 à 16:52
oui, mais c'est car l'utilisateur rentre un prénom de je ne sais quelle taille....du coup il me faut un tableau assez grand.
et je souhaiterais savoir le nbre de caractère renté
et je souhaiterais savoir le nbre de caractère renté
[Dal]
Messages postés
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 101
Modifié le 11 sept. 2019 à 18:00
Modifié le 11 sept. 2019 à 18:00
Salut Anat94,
Si tu programmes en C++, il est étrange que tu veuilles utiliser un type tableau de char pour stocker des chaînes de caractères (ce qui est une pratique du C), alors que le C++ te permet d'utiliser l'objet string dont l'usage n'est en théorie limité que par la taille de la mémoire de la machine ou les limitations de l'implémentation.
1.
Si, pour une bonne raison, tu dois utiliser un tableau de char, tu peux utiliser la fonction
http://www.cplusplus.com/reference/cstring/strlen/
En amont, il te faudra t'assurer que l'utilisateur ne tape pas 5000 caractères ou plus, selon la façon dont tu récupères la saisie.
2.
Si tu n'as aucune raison valable d'utiliser un tableau de char pour stocker la chaîne, alors tu devrais utiliser l'objet std::string
http://www.cplusplus.com/reference/string/string/
qui te donne accès aux méthodes
Si tu programmes en C++, il est étrange que tu veuilles utiliser un type tableau de char pour stocker des chaînes de caractères (ce qui est une pratique du C), alors que le C++ te permet d'utiliser l'objet string dont l'usage n'est en théorie limité que par la taille de la mémoire de la machine ou les limitations de l'implémentation.
1.
Si, pour une bonne raison, tu dois utiliser un tableau de char, tu peux utiliser la fonction
strlen()de la bibliothèque standard du C pour effectuer le décompte des caractères constituant la chaîne dans le tableau prenom.
http://www.cplusplus.com/reference/cstring/strlen/
En amont, il te faudra t'assurer que l'utilisateur ne tape pas 5000 caractères ou plus, selon la façon dont tu récupères la saisie.
2.
Si tu n'as aucune raison valable d'utiliser un tableau de char pour stocker la chaîne, alors tu devrais utiliser l'objet std::string
http://www.cplusplus.com/reference/string/string/
qui te donne accès aux méthodes
length()(ou
size()) qui permettent d'obtenir la taille, en octets, de la chaîne contenue dans cet objet.
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
12 sept. 2019 à 20:04
12 sept. 2019 à 20:04
Je vous explique, je travail sur le site france ioi(voir l'énoncé plus haut ) et voici ce qu'il me demande. Etant donné que je dois prends successivement la première, la deuxième , la troisième etc lettre du mot, je me vois dans l'obligation d'utiliser un tableau...
Mais je n'ai pas compris comment utiliser une fonction c sur un doc en c++...
[Dal]
Messages postés
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 101
13 sept. 2019 à 09:51
13 sept. 2019 à 09:51
et tu dois programmer en quel langage, C ou C++ ?
[Dal]
Messages postés
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 101
Modifié le 13 sept. 2019 à 10:33
Modifié le 13 sept. 2019 à 10:33
si c'est en C++ comme ton sujet de ce post semble l'indiquer, tu n'as pas besoin d'un tableau de
Si ton compilateur C++ est récent (je doute qu'il le soit si tu utilises DevC++ ...), ta boucle peut même être simplifiée comme ceci :
si tu tiens absolument à utiliser un type tableau de char, tu manipuleras une chaîne C, qui n'est pas un objet du C++, mais juste un tableau de
Dal
charpour pouvoir énumérer les lettres composant la saisie et tu peux utiliser le type
string
;
#include <iostream> #include <string> int main() { std::string nom; unsigned int i = 0; std::cout << "Veuillez saisir votre nom\n"; std::getline(std::cin, nom); // énumération des lettres std::cout << "Les lettres composant votre saisie sont :\n"; for (i = 0; i < nom.size(); i++){ std::cout << nom[i] << std::endl; } return 0; }
Si ton compilateur C++ est récent (je doute qu'il le soit si tu utilises DevC++ ...), ta boucle peut même être simplifiée comme ceci :
for (char & c : nom) { std::cout << c << std::endl; }
si tu tiens absolument à utiliser un type tableau de char, tu manipuleras une chaîne C, qui n'est pas un objet du C++, mais juste un tableau de
chardans lequel, par convention, une chaîne est une succession de
charterminés par le caractère NULL
'\0'. C'est bien sûr faisable aussi, et on peut te montrer comment faire, mais tu te compliques la vie si ton langage de programmation est le C++ et mélangerais les styles de programmation inutilement.
Dal
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
15 sept. 2019 à 16:31
15 sept. 2019 à 16:31
oui, c'est du c++. je ne comprends pas a quoi sert le std et getline. mais merci beaucoup !
Anat94
Messages postés
22
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
7 octobre 2019
15 sept. 2019 à 20:06
15 sept. 2019 à 20:06
Autre chose, je viens de tester le programme mais il ne m'aide pas car il affiche les lettres.J'ai du passer a coté de quelque chose. peux tu m’éclairer?