Siruri de caractere C++ – notiuni introductive

Video YouTube!

In josul acestei pagini gasesti si videoul de YouTube cu notiunile din articol 🙂

O constanta de tip sir de caractere de declara intre doua caractere “. In memoria interna, o constanta de acest tip este retinuta sub forma unui vector de caractere. Fiecare componenta a sirului (incepand cu cea de indice 0) retine codul ASCII al caracterului pe care il memoreaza. Conventia este ca ultimul octet sa retina 0 (codul caracterului nul). Caracterul nul este memorat automat. Trebuie rezervate lungimea_sirului+1 caractere char (+1
pentru caracterul nul). Limbajul C/C++ permite initializarea unui tablou de caractere printr-o constanta sir, care include automat caracterul null.

Exemplu :

  1. char vect[11]=”calculator”;
  2. char vect[]=”calculator”; (compilatorul face calculul numarului de octeti necesari)
  3. char vect[100]=”calculator”; (s-au rezervat mai multi octeti decat era necesar)

Sirurile de caractere sunt de fapt tablouri de caractere, care au ca ultim element un terminator de sir, caracterul null.

Exemplu:

De asemenea, sirurile de caractere pot fi declarate folosind pointeri.ATENTIE!! Unui sir astfel initializat nu i se poate modifica valoarea. El este retinut in memorie ca un sir constant. Pe langa aceasta, un sir declarat cu char *p nu poate fi citit normal, cu cin sau cin.get. Nu se recomanda folosirea lor decat la apelul functiilor strtok, strchr,strstr sau in momentul declararii unor siruri constante.

Exemplu: char *p = “sir constant”.

Pointerii retin informatia de la o anumita adresa. Astfel, stiind ca functiile strtok, strchr si strstr returneaza adresa unor elemente, pentru accesa informatia de la acea adresa este recomandat sa folosim un char * (pointer catre un element de tip char).

 

Video de pe canalul nostru de YouTube in care discutam despre siruri de caractere:

Vectorul frecventa – afisarea elementului cu cel mai mare numar de aparitii C++

Se citeste un numar foarte mare de elemente cu doua cifre de la tastatura (retinerea lor intr-un vector devine imposibila din cauza spatiului ocupat). Se doreste afisarea elementului care apare de cele mai multe ori in sir. Stiind ca numerele citite sunt intre 10 si 99, putem folosi vectorul frecventa, pentru a retine numarul de aparitii al fiecarui numar – frecv[a] retine de cate ori apare numarul a in sir.

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Afisarea elementelor pare ale unui vector C++

Enunt: Sa se afiseze elementele pare ale unui vector citit de la tastatura. Programul de mai jos parcurge vectorul element cu element iar atunci cand intalneste un element care este par, il afiseaza pe ecran, in caz contrar, pur si simplu continua citirea pana la gasirea unui viitor element par.

Video YouTube:

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Transpusa unei matrici C++

Transpusa unei matrici se construieste prin inlocuirea liniilor matricei initiale cu coloanele acesteia.

Exemplu:

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Cel mai mic multiplu comun (cmmmc) al unui vector C++

Fiind dat un vector v de N elemente intregi, se afiseaza cel mai mic multiplu comun al elementelor vectorului.

Cel mai mic multiplu comun (cmmmc) al unui vector:

La fiecare pas am folosit functia de cmmmc apelata pentru cmmmc-ul elementelor anterioare si elementul curent. Cmmc-ul nou este cel mai mic multiplu comun al cmmmc-ului vechi si al elementului curent. Functia de cmmmc dintre doua numere poate fi vazuta si aici.

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Cel mai mare divizor comun (cmmdc) al unui vector C++

Fiind dat un vector v de N elemente intregi, se afiseaza cel mai mare divizor comun al elementelor din vector.

Cel mai mare divizor comun (cmmdc) al unui vector:

La fiecare pas am folosit functia de cmmdc apelata pentru cmmdc-ul elementelor anterioare si elementul curent. Functia care afiseaza cmmdc-ul dintre 2 numere poate fi vazuta si aici.

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Suma elementelor de pe diagonala secundara a unei matrice patratice C++

Pentru a realiza produsul elementelor pur si simplu in codul de mai sus initializam s=1 (pentru a nu inmulti cu 0) si, la linia 14, inlocuim semnul “+” cu “*”, astfel variabila s va memora produsul elementelor matricei date.

Exemplu:

suma diagonalei secundare matrice patratica

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

Eliminarea unui element dintr-un vector C++

Se citesc de la tastatura un numar natural N, un vector de N elemente intregi si pozitia de pe care se doreste a fi sters elementul. Se afiseaza vectorul rezultat in urma eliminarii numarului de pe pozitia citita anterior.

Eliminare element de pe o pozitie data:

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂