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 mici în literă mare în C++

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

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

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 scădea 97 - 65 = 32, pentru a transforma litera b în B, vom scădea 98 - 66 = 32, și așa mai departe. Prin urmare, pentru a transforma o literă mică în literă mare, vom scădea 32 din codul său ASCII.

Implementare în C++

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

#include <iostream>

using namespace std;

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

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

Metoda 2 (funcția predefinită toupper)

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

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

using namespace std;

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

    //Afișăm litera mare
    cout << toupper(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

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

© 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