Programarea Calculatoarelor - 5 -

Previzualizare curs:

Extras din curs:

8. Tablouri si pointeri. 8.1. Tablouri cu o dimensiune (vectori). Un tablou cu o singura dimensiune este o succesiune de variabile având toate de acelasi tip (tipul de baza al tabloului), care ocupa o zona contigua de memorie. Un tablou are: o dimensiune (egala cu numarul de elemente al tabloului) un nume (care identifica global tabloul) o clasa de alocare un tip comun tuturor elementelor tabloului Dimensiunea tabloului precizeaza numarul de elemente printr-o constanta întreaga sau printr-o expresie constanta. La declararea unui tablou se specifica: numele, tipul de baza, clasa de alocare si dimensiunea. tip nume[dimensiune]; sau clasa tip nume[dimensiune]; Exemple: int x[10]; /* tablou de 10 intregi */ char litere[2*26]; /* tablou de 52 caractere */ Tipul elementelor tabloului poate fi un tip fundamental, enumerat, inregistrare, pointer sau un tip definit. Numele tabloului este adresa primului element din tablou (de exemplu x este adresa primului element, adica @x[0] ). Aceasta explica de ce nu este permisa o atribuire între doua tablouri. Accesul la un element din tablou se face printr-o variabila indexata, formata din numele tabloului si un index - o expresie cuprinsa între 0 si dimensiune-1. Primul element va fi desemnat prin x[0], al doilea element prin x[1], al N-lea prin x[N-1]. Un tablou declarat în interiorul unei functii are implicit clasa auto, în timp ce tablourile declarate în exteriorul tuturor functiilor au în mod implicit clasa extern. Un tablou declarat în exteriorul tuturor functiilor cu specificatorul static este alocat la adrese fixe, fiind vizibil numai în fisierul în care este declarat. Un tablou declarat în interiorul unei functii cu specificatorul static este alocat la adrese fixe, fiind vizibil numai în interiorul functiei. Prelucrarile pe tablouri se implementeaza cu cicluri for. Exemplul 15: Sa se afiseze elementele unui tablou citit de la intrarea standard, câte 10 pe un rând. #include <stdio.h> void main(void) /* citirea si afisarea elementelor unui vector */ { int x[10], n, j; scanf(“%d”, &n); for (j=0; j < n; j++) scanf(“%d”, &x[j]); for (j=0; j < n; j++) printf(“%5d%c”, x[j],(j%10==9||j==n-1)?’n’:’ ‘); } La declararea unui tablou, acesta poate fi si initializat, daca declaratia este urmata de semnul = si de o lista de valori initiale, separate prin virgule si incluse între acolade. Exemple:int prime[5]={2,3,5,7,11}; char vocale[5]={‘a’,’e’,’i’,’o’,’u’}; La declararea unui tablou initializat se poate omite dimensionarea, situatie în care se ia ca dimensiune numarul de valori initiale: char operator[]={‘+’,’-‘,’*’,’/’}; long x[]={1,10,100,1000,10000,100000}; Tablourile vor avea 4, respectiv 6 elemente. Exemplul 16: Scrieti un program care converteste un sir de caractere reprezentând un numar scris cu cifre romane în corespondentul sau cu cifre arabe. Notatia cu cifre romane este un sistem nepozitional, care foloseste cifrele: M, D, C, L, X, V, I, având respectiv valorile: 1000, 500, 100,50, 10, 5, 1. Pentru a obtine valoarea numarului, se pleaca cu acesta de la 0 si se adauga pe rând contributiile cifrelor astfel: daca valoarea cifrei romane curente este mai mare sau egala cu cifra care urmeaza, atunci valoarea cifrei curente se adauga la valoarea numarului arab, altfel se scade din acesta. De exemplu numarul roman MCMXCVIII are ca valoare pe 1998

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Programarea Calculatoarelor - 5 -.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
9/10 (2 voturi)
Nr fișiere:
1 fisier
Pagini (total):
11 pagini
Imagini extrase:
11 imagini
Nr cuvinte:
3 360 cuvinte
Nr caractere:
16 544 caractere
Marime:
301.69KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!