Problème avec la boucle for et les tableaux
Résolu
DoMiN1ToR
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
DoMiN1ToR Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
DoMiN1ToR Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
Bonjour j'aimerai créer un programme qui enregistre comme valeur booléene dans un tableau combien le texte contient de lettre. Mon code si dessous est censé de mander du texte et mettre 1 dans un tableau si le caractère correspondant est une lettre ou 0 si c'est autre chose mais voilà : il ne marche pas et je ne sais pas pourquoi merci de votre aide !
#include <iostream> #include <string> using namespace std; int main() { string texte(" "); cout << "Votre texte: "; cin >> texte; int longueurTexte(texte.size()); string alphabet("abcdefghijklmnopqrstuvwxyz"); int boolLettre[longueurTexte]; for(int a(0); a < longueurTexte; a++) { for(int b(0); b < 25; b++) { if(texte[a] = alphabet[b]) { boolLettre[a] = 1; } else { boolLettre[a] = 0; } } } cout << boolLettre << endl; return 0; }
A voir également:
- Problème avec la boucle for et les tableaux
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Les tableaux word - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
4 réponses
Bonjour,
Tu utilises un opérateur d'affectation au lieu d'un opérateur d'égalité :
Tu utilises un opérateur d'affectation au lieu d'un opérateur d'égalité :
if(texte[a] == alphabet[b]) { boolLettre[a] = 1; }
Est-ce que c'est ceci que tu souhaites ? :
#include <iostream> #include <string> using namespace std; int main() { string texte = "", alphabet = "abcdefghijklmnopqrstuvwxyz"; cout << "Votre texte: "; cin >> texte; int longueurTexte = texte.size(), longueurAlphabet = alphabet.size(), i = 0, j = 0; int boolLettre[longueurAlphabet]; for(int i = 0; i < longueurTexte; ++i) { for(int j = 0; j < longueurAlphabet; ++j) { if(texte[i] == alphabet[j]) { boolLettre[i] = 1; } else { boolLettre[i] = 0; } cout << boolLettre[i] << endl; } } return 0; }
Non mais merci de ton aide .
En fait j'aimerai que mon programme mette soit 1 si c'est une lettre sinon 0 alors que ton code donne une suite illogique de 0 et de 1. A moins que ce soit moi qui est mal copié le programme ? Merci de ton aide .
En fait j'aimerai que mon programme mette soit 1 si c'est une lettre sinon 0 alors que ton code donne une suite illogique de 0 et de 1. A moins que ce soit moi qui est mal copié le programme ? Merci de ton aide .
D'accord, donc ? :
#include <iostream> #include <string> using namespace std; int main() { string texte = "", alphabet = "abcdefghijklmnopqrstuvwxyz"; cout << "Votre texte: "; cin >> texte; int longueurTexte = texte.size(), longueurAlphabet = alphabet.size(), i = 0, j = 0; int boolLettre[longueurTexte], etat; for(int i = 0; i < longueurTexte; ++i) { etat = 0; for(int j = 0; j < longueurAlphabet; ++j) { if(texte[i] == alphabet[j]) { etat = 1; break; } } boolLettre[i] = etat; cout << boolLettre[i] << endl; } return 0; }