Cours:TabCharCorrection : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 24 : Ligne 24 :
 
{
 
{
 
     int nbOccurenceLettres[26];
 
     int nbOccurenceLettres[26];
     for (int i=0;i<26;i++) nbOccurenceLettres[i]=0;
+
     for (int numLettre=0;numLettre<26;numLettre++) nbOccurenceLettres[numLettre]=0;
 
     for (int i=0;i<strlen(message);i++)
 
     for (int i=0;i<strlen(message);i++)
 
     {
 
     {
         if ((message[i]>='a')and(message[i]<='z')) nbOccurenceLettres[message[i]-'a']++;
+
         char caractere=message[i];
         if ((message[i]>='A')and(message[i]<='Z')) nbOccurenceLettres[message[i]-'A']++;
+
        if ((caractere>='a')and(caractere<='z')) nbOccurenceLettres[caractere-'a']++;
     }  
+
         if ((caractere>='A')and(caractere<='Z')) nbOccurenceLettres[caractere-'A']++;
     for (int i=0;i<26;i++) cout << (char) (i+'a') << " : "<< nbOccurenceLettres[i] << " ";
+
     }
     cout << endl;
+
   
 +
     for (int numLettre=0;numLettre<26;numLettre++) cout << (char) (numLettre+'a') <<" : "<<nbOccurenceLettres[numLettre]<<" ";
 +
     cout <<endl;
 
}
 
}
 +
  
 
int main()
 
int main()

Version du 4 décembre 2022 à 19:29

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 numLettre=0;numLettre<26;numLettre++) nbOccurenceLettres[numLettre]=0;
    for (int i=0;i<strlen(message);i++)
    {
        char caractere=message[i];
        if ((caractere>='a')and(caractere<='z')) nbOccurenceLettres[caractere-'a']++;
        if ((caractere>='A')and(caractere<='Z')) nbOccurenceLettres[caractere-'A']++;
    }
    
    for (int numLettre=0;numLettre<26;numLettre++) cout << (char) (numLettre+'a') <<" : "<<nbOccurenceLettres[numLettre]<<" ";
    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;
}