Să se scrie un program care citeşte un şir de caractere format din litere mici ale alfabetului englez şi înlocuieşte fiecare vocală cu litera mare corespunzătoare.
Răspunsuri la întrebare
Răspuns de
10
#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;
}
#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;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă