Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Dându-se un caracter c
care reprezintă o literă, să se verifice dacă este o literă mică sau o literă mare.
Exemplu. Pentru c = 'a'
, răspunsul este MICA
, iar pentru c = 'A'
, răspunsul este MARE
.
Ne vom folosi de codul ASCII al caracterului citit, c
.
Când se stabileau bazele programării, era nevoie de o modalitate ușoară de a reprezenta caractere (litere, simboluri diverse sau chiar cifre). S-a dovedit că cea mai ușoară metodă ar fi să i se atribuie fiecărui caracter câte un număr unic, astfel, un text putea fi reprezentat foarte ușor în cifre și implicit în binar (deoarece calculatoarele funcționează în binar).
Astfel, s-a standardizat un tabel de acest tip numit ASCII (American Standard Code for Information Interchange). Mai exact, s-au ales 128
(și mai târziu 256
) de caractere, primului caracter fiindu-i atribuit valoarea 0
, al doilea — valoarea 1
, …, al 128
-lea — valoarea 127
.
Aceste valori nu sunt așezate aleatoriu: dacă litera a
(a mic) are codul 97
, atunci litera b
are codul 98
și așa mai departe. Iată tabelul ASCII complet (sursa: ResearchGate.net):
Deoarece caracterele sunt consecutive, va trebui să verificăm dacă codul ASCII al caracterului nostru este între codul ASCII al caracterlor A
și Z
(pentru literele mari), sau a
și z
(pentru literele mici).
Mai exact, va trebui să verificăm:
if(65 <= c && c <= 90) //Este literă mare
Din fericire, putem simplifica și mai mult: dacă apelăm 'caracter'
, o să ne returneze codul său ASCII. Așadar, verificarea se reduce la următoarea expresie (care este mai logică):
if('A' <= c && c <= 'Z') //Este literă mare
Pentru a verifica că un caracter este o literă mare sau mică, vom proceda astfel:
#include <iostream>
using namespace std;
int main()
{
//Declarăm și citim caracterul nostru, c
char c;
cin >> c;
//Verificăm dacă este literă mare/mică, folosind algoritmul explicat mai sus
if('A' <= c && c <= 'Z') { //Este literă mare
cout << c << " este o litera mare";
} else { //Nu este literă mare (este mică)
cout << c << " este o litera mica";
}
return 0;
}
islower
și isupper
)O altă metodă este să folosim funcțiile predefinite islower
și isupper
din cadrul bibliotecii <cstring>
. Funcțiile iau ca parametru un caracter. Astfel, codul devine următorul:
#include <iostream>
#include <cstring> //Pentru a accesa funcția isupper
using namespace std;
int main()
{
//Declarăm și citim caracterul nostru, c
char c;
cin >> c;
//Verificăm dacă este literă mare, folosind funcția isupper (explicații mai sus)
if(isupper(c)) { //Este literă mare
cout << c << " este o litera mare";
} else { //Nu este o literă mare (este mică)
cout << c << " este o litera mica";
}
return 0;
}