Contact și feedback

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.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

Verifică dacă o literă este mică sau mare în C++

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.

Metoda 1 (codul ASCII)

Ne vom folosi de codul ASCII al caracterului citit, c.

Ce este codul ASCII al unui caracter?

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):

https://i.ibb.co/jrBXK8b/image.png

Cum verificăm dacă o literă este mică sau mare?

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

Implementare C++

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;
}

Metoda 2 (funcțiile predefinte 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;
}

Alte resurse sau bibliografie

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Numere triunghiulare. Verificarea unui număr triunghiularDistanța dintre două puncte în C++Numărul aranjamentelor în C++ (formula aranjamentelor)Instrucțiunea while (structuri repetitive)Verificarea unui an bisect în C++Do while vs while în C++ - Care e diferența?Verifică dacă un număr aparține șirului Fibonacci în C++Câte numere naturale sunt într-un interval dat? (C++)Află secolul unui an citit de la tastatură în C++Verificare dacă șir de caractere este palindrom în C++Aria și circumferința unui cerc în C++Cel mai mic număr cu suma cifrelor N în C++Verifică dacă o literă este vocală în C++Mediana unui șir de valori în C++Cea mai lungă secvență de elemente crescătoare în C++Al N-lea termen dintr-o progresie geometricăMatrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicMaximul și minimul a două valori în C++Citește un șir de caractere cu spații în C++Șirul lui Fibonacci în C++Transformarea unei litere mari în literă mică în C++Transformarea unei litere mici în literă mare în C++Verifică dacă trei puncte sunt coliniare C++CMMDC recursiv a două numere naturale în C++Vectorii în C++: citire și afișareCifra de control a unui numărCel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Numărul de divizori primi ai unui număr în C++Numărul permutărilor în C++ (formula permutărilor)Suma elementelor unui vector recursiv în C++Rădăcina cubică a unui număr în C++ (cube root)Verifică dacă un caracter este literă în C++Cel mai semnificativ bit în C++Instrucțiunea break (structuri repetitive)Algoritm recursiv pentru căutare binară (clasa a X-a)Cum să citești și să afișezi în fișiere în C++Aria unui triunghi folosind coordonatele acestora în C++Materia pentru olimpiada de informatică - tot ce trebuie să știiVectorii în C++: declarare și parcurgereAl N-lea termen Fibonacci în C++Valoarea absolută (modulul) unui număr în C++Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorOperații cu numere mari în C++ - Toate funcțiile explicateCel mai puțin semnificativ bit în C++Funcții predefinite în C++ (matematice, șiruri de caractere)Cifra maximă și minimă a unui număr în C++Maximul și minimul a trei valori în C++Numărul de apariții al unui număr într-un vector în C++Al N-lea termen dintr-o progresie aritmeticăFactorialul unui număr în C++Numărul de divizori al unui număr în C++Indicatorul lui Euler în C++Maximul și minimul a n valori în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Prima cifră a unui număr în C++Codul ASCII (tabel complet)Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Numărul de cifre ale factorialului unui numărComplexitatea unui algoritm (timp și spațiu) în C++Transformarea unui număr din baza 10 în baza 2 în C++Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)CMMMC a două numere în C++ (cel mai mic multiplu comun)Verifică dacă o literă este mică sau mare în C++Structuri repetitive (while, do while, for, etc)Ce înseamnă endl în C++?Cel mai frecvent element dintr-un șir în C++Divide et Impera (metodă de programare C++)Bordarea unei matrice în C++Ce este o funcție void în C++?Matrice pătratice în C++. Diagonala principală și secundarăSuma numerelor naturale dintr-un interval dat în C++Verifică dacă un număr dat este o putere de 2 în C++Verificare număr prim în C++ (Clasa a IX-a)Instrucțiunea do while (structuri repetitive)Generarea șirului Fibonacci generalizat în C++Șiruri de caractere în C++. Tot ce trebuie să știiVerifică dacă un număr este par sau impar fără modulo în C++Transformarea unui număr din baza 2 în baza 10 în C++Interclasarea a doi vectori în C++Oglinditul unui număr în C++Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleCifrele unui număr. Prelucrarea cifrelor unui număr în C++Verificare dacă un număr este palindrom în C++Tipuri de date în C++: numere întregi, reale, caractere și alteleCitirea și afișarea matricelor în C++Verifică dacă un caracter este cifră în C++Inversarea unui șir de caractere în C++Maximul și minimul unui vector în C++Recursivitate în C++Afișarea divizorilor primi ai unui număr în C++Oglinditul recursiv al unui număr în C++Comentarii în C++Ce este o variabilă unsigned în C++?Instrucțiunea for (structuri repetitive)Căutare binară în C++Copiuțe: Cifrele unui numărCombinatorică în C++: permutări, aranjamente, combinări și alteleDe ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Vectori de frecvență (de apariții) în C++Suma divizorilor unui număr în C++Pointer în C++. Variabile de tipul char * (char steluță)Tipul struct în C++. Ce sunt structurile de date neomogeneSuma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Numărul minim de peroane pentru o gară în C++Instrucțiunea de decizie în C++: if, else, switch, caseAfișarea elementelor unui vector recursiv în C++Cum să afișezi partea întreagă a unui număr real în C++Numărul combinărilor în C++ (formula combinărilor)Calculul combinărilor de n luate câte k (nCk) în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortInterschimbarea a două variabile în C++ (3 metode)Suma 1 + 2 + 3 + ... + N în C++Ciurul lui Eratostene în C++Inversarea unui vector în C++Numărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Instrucțiunea continue (structuri repetitive)Aflarea sumei primelor N sume GaussRadicalul unui număr în C++ (rădăcina pătrată)Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Ce înseamnă variabilă globală și locală în C++?Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăFuncții în C++. Ce sunt subprogrameleCum să calculezi instant 2 la puterea N în C++Cifra maximă a unui număr recursiv în C++

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont