- #include<iostream.h>
- #include<string.h>
-
- const int nb_max_cara=20;
-
- struct letter
- {
- char valeur;
- int nbl;
- };
-
- struct liste
- {
- letter lettre[nb_max_cara];
- int nblettre;
- };
-
- void initliste(liste &l1)
- {
- l1.nblettre=0;
- }
-
- void ajoutelettre (liste &liste1, char a)
- {
- int i;
- bool existe=false;
- for (i=0;i<liste1.nblettre;i++)
- {
- if (liste1.lettre[i].valeur==a) {liste1.lettre[i].nbl++;existe=true;}
- }
- if (existe==false)
- {
- liste1.lettre[liste1.nblettre].valeur=a;
- liste1.lettre[liste1.nblettre].nbl=1;
- liste1.nblettre++;
- }
- }
-
- void listelettres (char mot[],liste &liste1)
- {
- int i,n;
- n=strlen(mot);
- for (i=0;i<n;i++)
- {
- ajoutelettre (liste1,mot[i]);
- }
- }
-
- int pluslong (liste liste1)
- {
- int i,pl=0;
- for (i=0;i<liste1.nblettre;i++)
- {
- if (liste1.lettre[i].nbl>pl) pl=liste1.lettre[i].nbl;
- }
- return pl;
- }
-
- void affiche(liste l1)
- {
- int i;
- for (i=0;i<l1.nblettre;i++)
- {
- cout<<l1.lettre[i].valeur<<" ";
- }
- cout<<endl;
- }
-
- void listepl(liste liste1, int pl,liste &liste2)
- {
- int i;
- for (i=0;i<liste1.nblettre;i++)
- {
- if (liste1.lettre[i].nbl==pl) ajoutelettre (liste2, liste1.lettre[i].valeur);
- }
- }
-
- void main()
- {
- liste liste1,liste2;
- char mot[nb_max_cara+1];
- initliste(liste1);
- initliste(liste2);
- int pl;
- cout<<"Entrez votre mot : ";cin>>mot;
- listelettres(mot,liste1);
- pl=pluslong(liste1);
- listepl(liste1,pl,liste2);
- affiche(liste2);
- }
#include<iostream.h>
#include<string.h>
const int nb_max_cara=20;
struct letter
{
char valeur;
int nbl;
};
struct liste
{
letter lettre[nb_max_cara];
int nblettre;
};
void initliste(liste &l1)
{
l1.nblettre=0;
}
void ajoutelettre (liste &liste1, char a)
{
int i;
bool existe=false;
for (i=0;i<liste1.nblettre;i++)
{
if (liste1.lettre[i].valeur==a) {liste1.lettre[i].nbl++;existe=true;}
}
if (existe==false)
{
liste1.lettre[liste1.nblettre].valeur=a;
liste1.lettre[liste1.nblettre].nbl=1;
liste1.nblettre++;
}
}
void listelettres (char mot[],liste &liste1)
{
int i,n;
n=strlen(mot);
for (i=0;i<n;i++)
{
ajoutelettre (liste1,mot[i]);
}
}
int pluslong (liste liste1)
{
int i,pl=0;
for (i=0;i<liste1.nblettre;i++)
{
if (liste1.lettre[i].nbl>pl) pl=liste1.lettre[i].nbl;
}
return pl;
}
void affiche(liste l1)
{
int i;
for (i=0;i<l1.nblettre;i++)
{
cout<<l1.lettre[i].valeur<<" ";
}
cout<<endl;
}
void listepl(liste liste1, int pl,liste &liste2)
{
int i;
for (i=0;i<liste1.nblettre;i++)
{
if (liste1.lettre[i].nbl==pl) ajoutelettre (liste2, liste1.lettre[i].valeur);
}
}
void main()
{
liste liste1,liste2;
char mot[nb_max_cara+1];
initliste(liste1);
initliste(liste2);
int pl;
cout<<"Entrez votre mot : ";cin>>mot;
listelettres(mot,liste1);
pl=pluslong(liste1);
listepl(liste1,pl,liste2);
affiche(liste2);
}