👤

6.
Scrieți un program C/C++ care citeşter de la tastatură un cuvânt format din cel mult 20 de
caractere, doar litere ale alfabetului englez. Programul determina transformarea cuvântului
citit prin eliminarea fiecărei litere mici a cuvântului, restul literelor nemodificându-se, ca în
exemplu. Programul afişează pe ecran cuvântul obtinut. În cazul în care cuvântul citit
conține numai litere mici, programul va afişa mesajul CUVANT VID.
Exemple:
- dacă se citeşte cuvântul: baCALaureat se va afişa pe ecran: CALUT
- dacă se citeşte cuvântul: vara se va afişa pe ecran: CUVANT VID


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!


Ze Schools: Alte intrebari