STRUCTURA DE TIP TABLOU ÎN C++ (continuare)
Mod de utilizare Considerăm că s-a declarat în program tabloul V[100] (cu maxim 100 elemente) de tip întreg ( int ). 1) Atribuirea unei valori celui de-al cicilea element din tablou: V[4] = 150 ; 2) Atribuirea rezultatului ultimului element din tablou V[99] = ((500 / a) - 2)*x ; // rezultatul expresiei trebuie sa // coincida cu tipul elementelor tabloului // a si x se considera variabile declarate // anterior 3) Suma valorilor tabloului S=0; // S o variabila intreaga declarata anterior for( i=0; i<100 ; i++) S = S + V[i] ; 4) Produsul valorilor tabloului P=1; // P o variabila intreaga declarata anterior for( i=0; i<100 ; i++) P = P * V[i] ; 5) Calculul unor expresii cu valori din tablou Expresie = (V[0]+V[99]) / (V[24]+V[25) ; // Expresie este o variabila declarata anterior
Citirea și afișarea tablourilor În majoritatea programelor ce utilizează tablouri, este necesar ca elementele acestora să fie mai întâi citite înainte de a fi prelucrate, iar la sfarșitul prelucrărilor realizate asupra tablourilor elementele tabloului vor fi afișate. a) CITIREA ELEMENTELOR UNUI TABLOU DE LA TASTATURĂ ... int i, n, v[100];
// se aloca in memoria calculatorului maxim 100 // elemente de tip intreg in variabila v, // o variabila simpla de tip intreg n, // i - o variabila contor tot de tip intreg
int main(){ cout << “n=” ; // Se afiseaza pe ecran mesajul n= cin >> n ; // Programul se intrerupe si se asteapta // introducerea unei valori intregi care va fi // memorata in variabila n // n reprezinta numarul de elemnte care vor fi citite in tablou for ( i=0 ; i<n ; i++ ) // Se repetă de n ori, cu i avand ca valoare // initiala 0, iar valoarea finala n-1 { cout << “v[” << i <<”]= ”; // Pe ecran se vor afisa pe rand: // la pasul 1: v[0]= // la pasul 2: v[1]= // ... cin >> v[i] ; // se asteapta introducerea de la tastatura // a unei valori ce va fi memorata pe pozitia // i (i avand o valoare intre 0-val initiala // si n-1 valoarea finala) in tabloul v } ...
b) AFIȘAREA ELEMENTELOR UNUI TABLOU PE ECRAN ... int i, n, v[100]; ... int main(){ ... for( i=0 ; i<n ; i++ ) // se parcurg pe rand fiecare dintre elem tabloului cout << v[i] << ‘ ‘ ; // se afiseaza elementul de pe // pozitia i, urmat de un spatiu ... return 0 ; } Observații: 1. Comentariile ce apar în secvențele de program nu sunt obligatorii, ele sunt pur teoretice, vă explică modul de funcționare al instructiunilor. 2. Exemplele de mai sus sunt doar secvențe de program nu sunt programe complete, acolo unde apare secvența de 3 puncte ‘...’, inseamna că acolo există unele instrucțiuni ce completează programul. 3. La afisare tabloului, se afisează elemetele separate de câte un spațiu.
Exemplu de program ce utilizează citirea și afișarea unui tablou Sa zicem ca dorim să citim elementele unui tablou T de maxim 50 elemente de tip real, să modificăm fiecare element al tabloului cu valoarea pătratului său și să afișăm elementele tabloului. # include <iostream> using namespace std ; double Tablou[50] ; int n, i ; int main(){ // mai jos este secventa de citire a tabloului cout << “n= ” ; cin >> n ; for ( i=0 ; i<n ; i++ ){ cout << “Tablou[” << i << “]=” ; cin >> Tablou[i] ; } // urmeaza secventa de prelucrari asupra elementelor tabloului for ( i=0 ; i<n ; i++ ) Tablou[i] = Tablou[i] * Tablou[i] ; // urmeaza secventa de afisare a elementelor tabloului for ( i=0 ; i<n ; i++ ) cout << Tablou[i] ; return 0; } Temă 1. Să se scrie un program care citește de la tastatură elementele unui tablou de maxim 100 numere întregi. Să se modifice elementele tabloului astfel încât să conțină fiecare element al tabloului să reprezinte valoarea opusă și să se afișeze elemetele tabloului (Ex: daca tabloul inițial conține valorile: -7, 0, 8, 301, 27, -454 după prelucrare să conțină valorile 7, 0, -8, -301, -27, 454). 2. Să se modifice programul anterior astfel încât afișarea să aibă următorul format: Dacă de exemplu valorile citite în vector sunt cele de mai sus, pe ecran să se afișeze: V={7, 0, -8, -301, -27, 454 }. Indicație: Pentru a învăța mai ușor nu strică să scrieți programele în Codeblocks să le testați. Succes!