Sunteți pe pagina 1din 2

#include <iostream>

using namespace std;

/**
Pentru aceia dintre voi (Theo, Radu, Edi, ...) care ati sus ca nu ati reusit sa
intelegeti ceea ce facem la vectori:

1) Partea absolut esentiala, de inceput, ca sa reusiti sa ii intelegeti, este


reprezentata de legatura pe care
trebuie sa o faceti intre for (pe care l-am facut anul trecut) si
parcurgerea indicilor care sunt "adresele" la
care se gasesc elementele din vector

2) Trebuie sa faceti distinctie intre element si indicele (pozitia, indexul,


adresa) unui element.
Indicele inseamna la al catelea element, de la stanga la dreapta, am ajuns,
iar elementul inseamna continutul
care se gaseste la pozitia respectiva, il puteti asocia cu continutul unei
variabile
**/

int main()
{
int i, j, n;

/// ---> 1 <---


cout << "n = ";
cin >> n;
cout << endl;
cout << "Nr nat nenule, de la 1 la " << n << ", inclusiv:" << endl;
for( i = 1; i <= n; i = i + 1 )
cout << i << " ";

cout << endl << endl;


cout << "Nr nat nenule, de la " << n << " la 1, inclusiv" << endl;
for( i = n; i >= 1; i = i - 1 )
cout << i << " ";

/// Acum, facem acelasi lucru pentru indicii unui vector.


/// Un vector de tip int, memoreaza, intr-o zona de memorie niste numere de tip
int. Acestea sunt asezate pe pozitii consecutive.
int v[ 30 ]; /// Un vector care poate memora cel mult 30 de nr de tip int,
incepand de la poz 0
cout << endl << endl << "Ne ocupam de vector." << endl;
cout << "dimensiunea vectorului (cate elemente memoreaza, max 29, incepand de
la poz 1)" << endl;
cout << "n = ";
cin >> n;

cout << endl << "Introduceti numerele:";


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

/// Acum, dupa ce avem memorate toate aceste elemente, le putem parcurge in
orice ordine, le putem schimba intre ele, le putem
/// modifica, le putem sterge... Insa, acum, ne intereseaza doar sa intelegeti
cat mai bine, parcurgerile.
/// Parcurgerea unui vector, fara a tine cont de proprietatile elementelor sale
inseamna parcurgerea indicilor (pozitiilor) elementelor
cout << endl << endl << "Elementele de la stanga la dreapta:" << endl;
for( i = 1; i <= n; i = i + 1 )
cout << v[ i ] << " ";

cout << endl << endl << "Elementele de la dreapta la stanga:" << endl;
for( i = n; i >= 1; i = i - 1 )
cout << v[ i ] << " ";

cout << endl << endl << "Vectorul este reprezentat astfel:" << endl;
cout << " | ";
for( i = 1; i <= n; i = i + 1 )
cout << v[ i ] << " | ";

cout << endl;


cout << " ";
for( i = 1; i <= n; i = i + 1 )
cout << "-------";

cout << endl << "Pozitii: | ";


for( i = 1; i <= n; i = i + 1 )
cout << i << " | ";

cout << endl << endl << "Elementele de la dreapta la stanga, de pe pozitiile
impare:" << endl;
for( i = n; i >= 1; i = i - 1 )
if( i % 2 == 1 )
cout << v[ i ] << " ";

cout << endl << endl << "Elementele de la stanga la dreapta, de pe pozitiile
pare, cu verificarea paritatii pozitiei:" << endl;
for( i = 2; i <= n; i = i + 1 )
if( i % 2 == 1 )
cout << v[ i ] << " ";

cout << endl << endl << "Elementele de la stanga la dreapta, de pe pozitiile
pare, direct, din 2 in 2:" << endl;
for( i = 2; i <= n; i = i + 1 )
cout << v[ i ] << " ";

cout << endl << endl << "Elementele de la stanga la dreapta, din a doua
jumatate a vectorului:" << endl;
for( i = n / 2 + 1; i <= n; i = i + 1 )
cout << v[ i ] << " ";

return 0;
}

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