Problème avec la boucle for et les tableaux
Résolu
DoMiN1ToR
Messages postés
48
Statut
Membre
-
DoMiN1ToR Messages postés 48 Statut Membre -
DoMiN1ToR Messages postés 48 Statut Membre -
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
- Les tableaux word - Guide
- Fusionner deux tableaux excel - 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;
}