compter le nombre de fois qu'un personnage apparaît dans un tableau?
j'ai pensé pendant un long moment et havent obtenu n'importe où avec le programme. je ne sais pas par où commencer. La mission nécessite l'utilisation d'une fonction principale et la seule bibliothèque iostream à être utilisé.
la tâche consiste à Déclarer un char tableau de 10 éléments. Prendre une entrée de l'utilisateur. Déterminer si le tableau contient des valeurs de plus de 1 fois . ne pas afficher les caractères qui s'affiche 1 fois seulement.
Sample output:
a 2
b 4
..
un b sont des personnages. et 2 et 4 représente le nombre de fois qu'ils apparaissent dans le tableau B.
j'ai essayé d'utiliser de boucle imbriquée pour comparer un personnage avec tous les caractères en tableau et incrémenter un compteur à chaque fois similer de caractères identifiant le son, mais des résultats inattendus se produisent.
Voici le code
#include <iostream>
using namespace std;
void main()
{
char ara[10];
int counter=0;
cout<<"Enter 10 characters in an array\n";
for ( int a=0; a<10; a++)
cin>>ara[a];
for(int i=0; i<10; i++)
{
for(int j=i+1; j<10; j++)
{
if(ara[i] == ara[j])
{
counter++;
cout<<ara[i]<<"\t"<<counter<<endl;
}
}
}
}
- Si vous avez essayé de résoudre ce problème, merci de poster le code.
- afficher ce que vous avez essayé.
- u peut les gars de m'aider à le construire à partir de zéro?
Vous devez vous connecter pour publier un commentaire.
Algorithme 2: std::map
Déclarer /définir le conteneur:
frequency.find(letter)
map
de l'affichage de la lettre et de sa fréquence.Voici une façon possible, vous pouvez résoudre ce problème. Je ne suis pas vous donner le code complet; il est mal de donner plein implémentations pour d'autres personnes à faire leurs devoirs.
D'abord, remplissez un nouveau tableau avec seulement des caractères uniques. Par exemple, si l'entrée était:
Le nouveau tableau ne devrait avoir:
Qui est, à chaque caractère doit apparaître une seule fois dans. N'oubliez pas de
\0
à la fin, de sorte que vous pouvez dire où elle se termine (puisqu'elle peut avoir une longueur plus petite que 10).Puis créer un nouveau tableau de
int
(ouunsigned
, puisque vous ne pouvez pas avoir des occurrences) des valeurs qui détient la fréquence d'occurence de chaque personnage de la gamme unique de l'original du tableau d'entrée. Chaque valeur doit être d'abord 1. Vous pouvez réaliser cela avec une déclaration comme:Maintenant, parcourir le réseau unique et à chaque fois que vous trouvez le caractère courant dans l'entrée d'origine de tableau, l'accroissement de l'élément correspondant du tableau des fréquences. Ainsi, à la fin, pour le au-dessus de l'entrée, vous auriez:
Et vous avez terminé. Vous pouvez maintenant dire combien de fois chaque personnage apparaît dans l'entrée.
Ici, je vais vous dire ce que vous devez faire et vous code vous-même:
Il y a maintenant quelques astuces de l'application de cette mais vous pouvez le manipuler
Essayez ceci:
Algorithme:
letters
tableau pour la nouvelle lettre.lettre:
frequency[toupper(new_letter) - 'A']++;
`cout << 'A' + index << ": "<< fréquence[index] << endl;