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

Transformarea unei litere mari în literă mică în C++

Dându-se un caracter c reprezentând o literă, să se transforme litera în literă mică.

Exemplu. Pentru c = 'A', răspunsul este a, iar pentru c = 'b', răspunsul este tot b.

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 se transformă o literă mare în literă mică?

Observăm pentru început că literele mici au codurile ASCII între 97 și 122, iar literele mari au codurile ASCII între 65 și 90. Astfel, pentru a transforma litera A în a, vom aduna 97 - 65 = 32, pentru a transforma litera B în b, vom aduna 98 - 66 = 32, și așa mai departe. Prin urmare, pentru a transforma o literă mare în literă mică, vom aduna 32 la codul său ASCII.

Implementare în C++

Iată codul care transformă o literă mare în literă mică:

#include <iostream>

using namespace std;

int main()
{
    //Declarăm și citim caracterul nostru, c
    char c;
    cin >> c;

    //Afișăm litera mică
    if('a' <= c && c <= 'z') { //Dacă c este deja literă mică, o afișăm
        cout << c;
    } else { //Altfel, dacă c este literă mare
        c = c + 32; //Adunăm 32 pentru a obține litera mică (vezi mai sus pentru explicații)
        cout << c; //Afișăm litera modificată
    }
    return 0;
}

Metoda 2 (funcția predefinită tolower)

Există o funcție în biblioteca <cstring> numită tolower, care ia ca parametru un caracter literă și îl transformă în literă mică. Așadar, codul nostru se reduce la următorul:

#include <iostream>
#include <cstring> //Pentru a folosi funcția tolower

using namespace std;

int main()
{
    //Declarăm și citim caracterul nostru, c
    char c;
    cin >> c;

    //Afișăm litera mică
    cout << tolower(c);
    return 0;
}

Alte resurse și 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

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

© 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