Je suis en train d'essayer de trouver le nombre de fois que chaque lettre de l'alphabet apparaît dans une chaîne aléatoire que l'utilisateur crée. J'ai tout le code, à l'exception de la partie qui compterait chaque fois qu'un caractère est trouvé. J'ai essayé d'utiliser quelques for...else
boucles pour résoudre ce problème, mais peut-être que je ne sais simplement pas le faire correctement, je reçois soit des erreurs soit un espace vide sous le reste de la sortie.
Ce que je veux, c'est que la sortie ressemble à ceci :
A B C D E F G... 1 2 5 7 0 9 2...
Voici mon code et ma sortie jusqu'à présent :
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <map>
using namespace std;
int main() {
int i=0, n;
char alphabet[26];
char c;
char RandomStringArray [100];
srand(time(0));
cout << "Combien de lettres voulez-vous dans votre chaîne aléatoire (pas moins de 0, pas plus de 100) : ";
cin >> n;
for (int i=0; i<=25; i++)
alphabet[i] = 'a' + i;
while(i<n) {
int temp = rand() % 26;
RandomStringArray[i] = alphabet[temp];
i++;
}
for(i=0; i<n; i++)
cout<<RandomStringArray[i];
cout<<"\n\n";
/*for(c = 'A'; c <= 'Z'; ++c)
cout<<" "< char_counts;
for (int i = 0; i < n; ++i) ++char_counts[RandomStringArray[i]];{
for (char ch :: alphabet) std::cout << ch << ' ';{
std::cout << '\n';
}
for (char ch :: alphabet) std::cout << char_counts[ch] <<'';{
std::cout << '\n';
}
}
}