Citirea / Afișarea elementelor

Citirea elementelor

1. Citirea unui număr cunoscut de elemente

  De multe ori vom ști câte elemente se introduc în tablou, astfel că putem folosi o structură reptetivă cu număr cunoscut de pași.

int n, v[1001];
cin>>n;
for(int i=1; i<=n; i++)
  cin>>v[i];

  Presupunând că vrem să inserăm valorile începând cu poziția 1, indicele pronește de la 1 și crește până la poziția ultimului element de citit. Dacă citim de la 0, instrucțiunea for devine: for(int i=0; i<n; i++) (se execută până la n-1, poziția în care se va afla al n-lea caracter).
  Această metodă funcționează și pentru citirea din fișier, se folosește același principiu.

2. Citirea unui număr necunoscut de elemente

a) Citire de la tastatură

  În general, când se citește un număr necunoscut de valori de la tastatură, se va opri la întâlnirea unui 0, a unei valori negative etc. Considerând că citim numere până la întâlnirea lui 0, avem următoarea schemă de citire:

int a, v[1001], i=0;
cin>>a;
while(a){
  v[i++]=a;
  cin>>a;
}

  Se citește primul număr, iar apoi cu o structură while vom continua executarea cât timp ultima valoare citită este diferită de 0. La fiecare pas vom introduce valoarea în vector, crescând în același timp un indice pentru a ști în ce poziție am ajuns la un moment dat. La sfârșitul execuției, variabila i conține numărul valorilor citite în total.

b) Citire din fișier

  Citirea din fișier se oprește automat după ultima valoare din el, astfel că scheletul citirii din fișier arată așa:

ifstream in ("date.txt");
...
int v[1001], i=0<,a;
while(in>>a) v[i++]=a;

  Vom citi din fișier cât timp încă mai sunt valori scrise, introducând în vector ultima valoare citită și crescând apoi contorul care ne indică poziția la care suntem. La finalul execuției, variabila i ne va indica numărul de valori citite în total.


Afișarea elementelor

a) Afișarea unui singur element

  Dacă vrem să afișăm un singur element din vector, ne putem referi la el ca v[k], unde k este poziția unde se află elementul pe care dorim să-l scriem. Afișarea constă într-un simplu:

cout<<v[k];

b) Afișarea mai multor elemente

  Fie că vrem să afișăm toate elementele, sau doar o parte din ele, putem folosi cu ușurință o structură repetitivă cu număr cunoscut de pași (for).

int n, v[1001]; // n este numărul de elemente din vector
...
for(int i=0; i<n; i++)
  cout<<v[i]<<' '; // separate printr-un spațiu

  Bineînțeles, în interiorul instrucțiunii for putem condiționa afișarea elementelor după o anumită proprietate. În exemplul de mai sus, elementele sunt introduse începând cu poziția 0.