"Calcul " d'une chaîne de caractère en c++
Anat94
Messages postés
23
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
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
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, quel est le type de ta variable? -
-
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 fonctionstrlen()
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éthodeslength()
(ousize()
) qui permettent d'obtenir la taille, en octets, de la chaîne contenue dans cet objet.
-
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++... -
-
si c'est en C++ comme ton sujet de ce post semble l'indiquer, tu n'as pas besoin d'un tableau de
char
pour pouvoir énumérer les lettres composant la saisie et tu peux utiliser le typestring
;
#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 dechar
dans lequel, par convention, une chaîne est une succession dechar
terminé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 -
-
-