Sunteți pe pagina 1din 16

IP Centrul de Excelență în Economie și Finanțe

Unitatea de curs:
Programarea structurată
Profesor: Eugenia Burca
Master în Informatica
Email: eugeniaburca69@gmail.com
Unitatea de curs:
Programarea structurată
Tema lecției: Tablouri de caractere
(șir de caractere). Partea II
Conversia șirurilor de caractere
Functia atof cu forma generală
double atof(sir) – convertește un șir care conține cifre către tipul double.
Dacă șirul conține caractere nenumerice numărul returnat va fi format din
cifrele care preced primul caracter nenumeric sau 0 dacă nu există nicio
cifră. Dacă primele caractere ale șirului sunt albe(spații), acestea sunt
ignorate.
Exemplu:
double q; char t[]=“123.5”;
q=atof(t); cout<<q; //afiseaza 123.5

double q; char t[]=“12asc3.5”;


q=atof(t); cout<<q; //afiseaza 12

double q; char t[]=“wgh123.5”;


q=atof(t); cout<<q; //afiseaza 0
Conversia șirurilor de caractere
Functia atold cu forma generală
long double atold(sir) – convertește un șir către tipul long double.

Functia atoi cu forma generala


int atoi(sir) – convertește un șir care conține cifre către tipul int. Dacă șirul conține caractere
nenumerice numărul returnat va fi format din cifrele care preced primul caracter nenumeric
sau 0 dacă nu există nicio cifră.

Functia atol cu forma generala


long atol(sir) – convertește un șir care conține cifre către tipul long.

Exemplu:
int q; char t[]=“-1235”;
q=atoi(t); cout<<q; //afiseaza -1235
Conversia șirurilor de caractere
Functia itoa cu forma generala
itoa(valoare,sir,baza) – convertește o valoare de tip int în șir, care este memorat în
variabila sir. Parametrul baza reprezintă baza de numeratie în care se va realiza conversia.
În cazul bazei 10, șirul reține și eventualul semn ”-”. Funcția intoarce adresa șirului obținut

Functia ltoa cu forma generala


ltoa(valoare,sir,baza) – convertește o valoare de tip long int în șir, care este memorat în
variabila sir. Parametrul baza reprezintă baza de numeratie în care se va realiza conversia.
În cazul bazei 10, șirul reține și eventualul semn ”-”. Funcția intoarce adresa șirului obținut

Functia utoa cu forma generala


utoa(valoare,sir,baza) – convertește o valoare de tip unsigned long în șir, care este memorat
în variabila sir. Parametrul baza reprezintă baza de numeratie în care se va realiza conversia.
În cazul bazei 10, șirul reține și eventualul semn ”-”. Funcția intoarce adresa șirului obținut
Tabloul de caractere
Problema 1: Elaborați un program prin
intermediul căruia se va oferi posibilitate de a
transforma un număr din baza 10 în oricare altă
bază. Numărul și baza se citește de la tastatură.
Tabloul de caractere
Problema 2: de la tastatură se citește o expresie
aritmetică formată din cifre și operatorii + și -.
Elaborați un program prin intermediul căruia se va
evalua valoarea expresiei introduse. De exemplu,
pentru expresia 23+45-6+2-34 se va afișa 30
Tabloul de caractere
Problema 3: de la tastatură se citesc două cuvinte a și b, fiecare fiind format din
cel mult 20 de caractere mici. Elaborați un program prin intermediul căruia pe
rânduri separate și separate prin câte un spațiu se va afișa:
a) Caracterele care apar în ambele cuvinte;
b) Caracterele care apar în cel puțin unul dintre cuvinte;
c) Caracterele care apar în doar unul dintre cuvinte
De exemplu, pentru cuvintele adina și alina se va afișa:
adina
alina
Caractere comune
a i n
reuniune
a d i l n
Caracterele in doar unul dintre cuvinte
d l
Notă: se vor utiliza 2 tablouri unidimensionale în care se vor memora pozițiile unde
sunt caractere
Tabloul de caractere
Problema 4: de la tastatură se citesc elementele unui
tablou unidimensional cu numere și numărul k care este
mai mic decât n. Să se elaboreze un program prin
intermediul căruia se va determina și afișa o secvență de
elemente de lungime k cu suma elementelor maximă
Dați valorile numerelor n=20
k=5
Elementele tabloului
17140941818245517111152716 Subsirul de
valori maximal
9418182
Suma subsirului maximal este 51
Tabloul de caractere
Problema 5: de la tastatură se citește o matrice pătratică cu n linii și n
coloane(n<=100), cu elemente numere naturale din intervalul [0,1000].
a) Calculați și afișați (în orice ordine) elementul minim din fiecare
dintre cele 4 zone în care este împărțită matricea de către cele două
diagonale;
b) Interschimbați circular în sens trigonometric( invers acelor
ceasornicului) cele 4 valori minime. Astfel, elementul din zona N
va ajunge în V, cel din V în S, cel din S în E, iar cel din E în N.
Tema pentru acasa
Materialul pentru studiu se află pe cardul cu data de 17.12.2019

S-ar putea să vă placă și