Rezolvare completă PbInfo #11 Vocale

Se dă un şir de cel mult 20 caractere ce conţine numai litere mici ale alfabetului englez.

Cerinţa

Să se afişeze şirul obţinut prin înlocuirea fiecărei vocale cu litera mare corespunzătoare.

Date de intrare

Programul va citi de la tastatură şirul dat.

Date de ieşire

Programul va afişa pe ecran şirul transformat corespunzător.

Restricţii şi precizări

  • se consideră vocale literele din multimea {a,e,i,o,u}

Exemplu

Intrare

romancier

Ieşire

rOmAncIEr		
		

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Vocale:

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

int main(){
    char s[22];
    //citim sirul. NU contine spatii, poate fi citit cu cin >>
    cin >> s;
    
    for(int i=0;s[i] ;++i)          //parcurgem sirul
        if(strchr("aeiou",s[i]))    //daca pe pozitia curenta este vocala
            s[i] -= 'a'-'A';            // o transformam in litera mare
    /*
     * Pentru a transforma o litera mica in litera mare, folosim faptul 
     * ca diferenta intre litera mica si litera mare este aceeasi pentru
     * toate literele, si anume diferenta dintre 'a' si 'A', adica 'a'-'A'
     * 
     * Astfel, vom scadea din caracterul litera mica valoarea 'a'-'A'
     * 
     * Pentru a transforma o litera mare in litera mica, vom aduna la 
     * litera mare valoarea 'a' - 'A'
     * 
     * */
    
    //afisam sirul modificat
    cout << s ;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #11 Vocale

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #11 Vocale de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!