Cours:TabCharCorrection : Différence entre versions
Ligne 19 : | Ligne 19 : | ||
if (message[i-1]==' ') toUppperCase(message[i]); | if (message[i-1]==' ') toUppperCase(message[i]); | ||
} | } | ||
+ | } | ||
+ | |||
+ | void histogramme(char message[]) | ||
+ | { | ||
+ | int nbOccurenceLettres[26]; | ||
+ | for (int i=0;i<26;i++) nbOccurenceLettres[i]=0; | ||
+ | for (int i=0;i<strlen(message);i++) | ||
+ | { | ||
+ | if ((message[i]>='a')and(message[i]<='z')) nbOccurenceLettres[message[i]-'a']++; | ||
+ | if ((message[i]>='A')and(message[i]<='Z')) nbOccurenceLettres[message[i]-'A']++; | ||
+ | } | ||
+ | |||
+ | for (int i=0;i<26;i++) cout << (char) (i+'a') <<" : "<<nbOccurenceLettres[i]<<" "; | ||
+ | cout <<endl; | ||
} | } | ||
Ligne 24 : | Ligne 38 : | ||
{ | { | ||
char saisie[100]; | char saisie[100]; | ||
+ | //lecture d'une ligne : | ||
cout << "saisir un message :"; | cout << "saisir un message :"; | ||
cin.getline(saisie,100); | cin.getline(saisie,100); | ||
upperFirstLetter(saisie); | upperFirstLetter(saisie); | ||
cout << saisie<<endl; | cout << saisie<<endl; | ||
+ | histogramme(saisie); | ||
return 0; | return 0; | ||
} | } | ||
+ | |||
</source> | </source> |
Version du 4 décembre 2022 à 19:24
Il s’agit d’une page protégée.
#include <iostream>
#include <string.h>
using namespace std;
void toUppperCase(char & c) // passage par référence
{
if ((c>='a')and(c<='z')) c-=32;
}
void upperFirstLetter(char message[]) // passage par pointeur : un tableau se comporte de façon analogue à un pointeur
{
toUppperCase(message[0]);
for (int i=1;i<strlen(message);i++)
{
if (message[i-1]==' ') toUppperCase(message[i]);
}
}
void histogramme(char message[])
{
int nbOccurenceLettres[26];
for (int i=0;i<26;i++) nbOccurenceLettres[i]=0;
for (int i=0;i<strlen(message);i++)
{
if ((message[i]>='a')and(message[i]<='z')) nbOccurenceLettres[message[i]-'a']++;
if ((message[i]>='A')and(message[i]<='Z')) nbOccurenceLettres[message[i]-'A']++;
}
for (int i=0;i<26;i++) cout << (char) (i+'a') <<" : "<<nbOccurenceLettres[i]<<" ";
cout <<endl;
}
int main()
{
char saisie[100];
//lecture d'une ligne :
cout << "saisir un message :";
cin.getline(saisie,100);
upperFirstLetter(saisie);
cout << saisie<<endl;
histogramme(saisie);
return 0;
}