Pour les fanes de C++ (HELP)

l-ghost Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
l-ghost Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voila je suis debutant en cryptographie, et pour faire une fréquence d'apparution ca me prend tro de temps, donc si vous pouvez me faire un programme qui va effectuer cette tache ca sera hyper sympo de votre part car je connais presque rien en programation.
l'enjeu consiste a calculer le nombre de fois que chaque lettre apparait ds un texte que je saisis pour ce programme.
espérant que j aurais des rps. Merci.

1 réponse

D-Predator Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   80
 
Voici une solution somple et efficace. À compiler avec Microsoft Visual C++. Si tu ne l'a pas, je peux t'envoyer le .exe:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
	char ligne[255] = {0};
	cout << "Veuillez écrire du texte SANS appuyer sur Enter, sauf à la fin: ";
	cin.getline(ligne, 255);
	char* ligneEnMajuscule = _strupr(ligne);
	short tableau[255] = {0};
	int total = 0;
	for(size_t I = 0; I < strlen(ligneEnMajuscule); I++) {
		unsigned char caractere = ligneEnMajuscule[I];
		if(caractere >= 33) {
			tableau[caractere]++;
			total++;
		}
	}
	cout << "Caractère | Compte | Pourcentage\n";
	for(int I = 0; I <= 255; I++) {
		if(tableau[I] > 0) {
			cout << ((char)I) << " | " << tableau[I] << " | " << fixed << setprecision(2) << (((float)tableau[I] / total * 100)) << "%\n";
		}
	}
	cout << total << " Caractère(s) reconnu(s)\n";

	system("PAUSE");
	return 0;
}


Exemple d'utilisation:
Veuillez Úcrire du texte SANS appuyer sur Enter, sauf Ó la fin: ftvseyzvsqtesmy
vxeizrsemrvxgqlesmmwwpmilwdjzsimxwttevvsxgmlgemmtriiewym
CaractÞre | Compte | Pourcentage
D | 1 | 1.39%
E | 8 | 11.11%
F | 1 | 1.39%
G | 3 | 4.17%
I | 5 | 6.94%
J | 1 | 1.39%
L | 3 | 4.17%
M | 10 | 13.89%
P | 1 | 1.39%
Q | 2 | 2.78%
R | 4 | 5.56%
S | 7 | 9.72%
T | 5 | 6.94%
V | 6 | 8.33%
W | 5 | 6.94%
X | 4 | 5.56%
Y | 3 | 4.17%
Z | 3 | 4.17%
72 CaractÞre(s) reconnu(s)
Appuyez sur une touche pour continuer...
0
l-ghost Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
merci bcp
0