👤

Scrieti un program C/C++ care citeste din fisierul standard de intrare (tastatura) un sir de caractere format doar din litere mici ale alfabetului englez si afiseaza numarul de aparitii al fiecarei litere din cuvantul introdus. Datele de intrare se considera a fi corecte.

Răspuns :

#include <iostream>
#include <cstring>
using namespace std;

int main(){
    char s[200], c;
    int t, i, ap[26];
    cin>>s;
    
    for(i=0;i<26;i++) ap[i] = 0;
    
    for(i=0;i<strlen(s);i++){
        t = s[i] - 'a';
        //asta îl va transforma din număr de la 0 
        //la 25 (cele 26 de litere din alf. engl.)
        //pentru că - s va reprezenta codul ascii de la litera
        //la care am ajuns în șir, iar 'a' va fi codul ascii
        //a literei a, adică 97, parcă. Iar de exemplu, dacă
        //litera curentă ar fi: c, codul ascii ar fi 
        //99, iar 99-97 = 2. Dacă litera ar fi a: 97-97 = 0
        //dacă litera ar fi b: 98-97 = 1.
        ap[t]++;
    }
    
    for(i=0;i<26;i++){
        c = 'a' + i;
        //i-ul va fi aici acea diferență
        //de coduri ascii de la a la litera de care avem nevoie
        //adică efectiv litera
        cout<<c<<": ";
        cout<<ap[i];
        cout<<endl;
    }
    
}



Eventual pui Și un if dacă nu vrei să afișezi și literele care apar de 0 ori :))
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!


Ez Studiers: Alte intrebari