Grosseur d'un tableau variable
Fermé
einsteinqc
Messages postés
1
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
1 juin 2016
-
1 juin 2016 à 03:00
Franck7511 Messages postés 14296 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 10 août 2017 - 1 juin 2016 à 19:37
Franck7511 Messages postés 14296 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 10 août 2017 - 1 juin 2016 à 19:37
A voir également:
- Grosseur d'un tableau variable
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
1 réponse
Franck7511
Messages postés
14296
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
10 août 2017
1 121
Modifié par Franck7511 le 1/06/2016 à 19:40
Modifié par Franck7511 le 1/06/2016 à 19:40
1/ Evite le 'using namespace std'
2/ Pourquoi "#include <string.h>" ? C'est pas du C++ ça, et c'est pas nécessaire ici.
3/ Evite les tableaux de char, privilégie std::string qui est inclus en C++. (#include <string>)
4/ Où tu utilises la propriété "plus de 10 caractères" dans ton programme ?
Bon, si tu veux garder le tableau de char, tu peux allouer un grand tableau de taille fixe (ça reste une mauvaise solution) et itérer non plus jusqu'à 20 mais strlen(motDixCaract).
Pourquoi écrire caractère par caractère sinon ? Autant juste modifier le caractère au sein de ta boucle :
Et tu print motDixCaract.
La bonne technique est celle d'utiliser std::string, et dans ce cas :
2/ Pourquoi "#include <string.h>" ? C'est pas du C++ ça, et c'est pas nécessaire ici.
3/ Evite les tableaux de char, privilégie std::string qui est inclus en C++. (#include <string>)
4/ Où tu utilises la propriété "plus de 10 caractères" dans ton programme ?
Bon, si tu veux garder le tableau de char, tu peux allouer un grand tableau de taille fixe (ça reste une mauvaise solution) et itérer non plus jusqu'à 20 mais strlen(motDixCaract).
Pourquoi écrire caractère par caractère sinon ? Autant juste modifier le caractère au sein de ta boucle :
if (motDixCaract[x] == lettreRech) // Attention lettreRech doit être minuscule ! motDixCaract[x] = std::toupper(lettreRech);
Et tu print motDixCaract.
La bonne technique est celle d'utiliser std::string, et dans ce cas :
std::for_each (motDixCaract.begin(), motDixCaract.end(), [&](char& c) { if (c == lettreRech) // Attention lettreRech doit être minuscule ! c = std::toupper(lettreRech); }); std::cout << motDixCaract << std::endl;