Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int litera_mica = 0, litera_mare = 0;
char sir[21];
cin.get(sir,20);
for(int i = 0; i < strlen(sir); i++)
{
if ( sir[i] >= 'a' && sir[i] <= 'z' )
{
litera_mica = 1;
strcpy(sir+i,sir+i+1);
i--;
}
if ( sir[i] >= 'A' && sir[i] <= 'Z' )
litera_mare = 1;
}
if ( litera_mica == 1 && litera_mare == 0 )
cout << "CUVANT VID";
else
if ( litera_mica == 1 && litera_mare == 1)
cout << sir;
}
Explicație:
Folosim doua variabile de contorizare litera_mica si litera_mare pentru a verifica daca exista atat o litera mica cat si o litera mare in sir.
Citim sirul.
Parcurgem sirul caracter cu caracter si verificam daca caracterul aflat pe pozitia i este litera mica sau litera mare. Daca este litera mica atunci variabila litera_mica va avea valoarea 1 ( o contorizare pentru afisare ), copiem peste pozitia i din sir restul sirului de la i+1 dupa care scadem i deoarece este posibil in sirul dat sa fie doua litere mici consecutive. Ca sa intelegi mai bine ce inseamna asta sterge i--; si o sa iti dai seama.
Verificam daca este litera mare. Daca este adevarat variabila litera_mare va avea valoarea 1.
Dupa parasirea instructiunii de parcurgere scriem afisarile.
Daca sirul contine o litera mica DAR nu contine o litera mare automat sirul este vid deoarece noi am eliminat toate literele mici.
Daca sirul initial a avut atat o litera mica cat si o litera mare atunci putem afisa noul sir prin eliminarea literelor mici.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!