Studiul de lucru cu matrice

În cazul în care un grup de variabile de acest tip este necesar pentru a efectua acțiuni repetitive, ele sunt date cu același nume, și se disting prin ordinal

sau indeksy. este determinată de locul printre celelalte elemente. Secvența finală este numită valori similare se numește o matrice. Primul element din matrice corespunde în general numărul ordinal 0. Matricele pot avea dimensiuni diferite. Un tablou poate consta din trei elemente, celălalt - al patruzeci și treilea din șase. Matricea nu poate avea elemente în general.

matrice dimensionale - cea mai simplă versiune a matrice. Deoarece elementele de matrice ocupă un bloc continuu de memorie, unidimensională

o matrice este pur și simplu o secvență de celule de memorie de dimensiune suficientă pentru a se adapta tuturor elementelor.

În cele mai multe cazuri, este bidimensional sau tri-dimensionale matrice. Anunțând astfel de matrice în paranteze pătrate trebuie să specifice numărul de

elemente în fiecare dimensiune, începând cu primul:

Aici este declarat static matrice bidimensional de numere întregi de cincizeci și cinci de articole în fiecare rând.

Când inițializează matrice multi-dimensionale, este furnizat fie ca o serie de matrice sau pentru a seta o listă generală de elemente în ordinea în care acestea sunt stocate în memorie. matrice dinamice șterse este întotdeauna aceeași.

Trebuie amintit faptul că elementele de matrice pot fi de aproape orice tip, nu doar standardul.

Programul următor prezintă un exemplu de utilizare a matrice. Acesta este alimentat la intrarea unei anumite secvențe de lungime fixă ​​de numere întregi (și nu pot numere întregi) și ieșirile suma acestora.

int myArray [n]; // declară o matrice de 10 numere întregi

int i = 0; // contor buclă

int s = 0; // valoarea inițială a sumei

cout <<"MyArray["<

cin >> myArray [i]; // Introduceti elementul

s + = myArray [i]; // adaugă la suma

i ++; // incrementarii contorul de unul

cout<<"s="<

Operațiuni Array

operații tipice atunci când se lucrează cu matrice sunt:

- găsi maximul sau minimul a elementului matrice;

- găsi un element de matrice predeterminat;

• Tip - este tipul de date ale tuturor variabilelor de matrice, care este, este imposibil să aibă o serie de tipuri diferite de variabile!

• numele - un nume care combină aceste variabile și pentru care acestea sunt disponibile.

• mărimea șirului - numărul de elemente din matrice. Accesarea elementelor de matrice prin numele elementului matrice cu indicele, care este situat în paranteze pătrate ale numelui matrice.
elementele de matrice sunt indexate de la zero, respectiv, indicele 0 este echivalent cu un prim element de matrice, indicele 1 - al doilea și așa mai departe.

• Matricele sunt inițializate la fel ca variabile obișnuite: fiecare element de matrice se atribuie o valoare:
int a [3] =.

Dacă inițializarea este mai mare decât dimensiunea erorii.

În timp ce face o serie de elemente care nu se potrivește cu numărul de elemente din lista de inițializare, atunci fie matrice este completat de zero valori, sau o parte a elementelor care nu este folosit la sfârșitul listei de inițializare.

Matricele în C ++ poate fi static sau dinamic.

Sunt create cu ajutorul noului operator în cazul în care este necesar să se precizeze tipul și dimensiunea. tablouri dinamice nu poate fi inițializată atunci când creați și nu sunt resetate.

Avantajul acestor matrice este faptul că dimensiunea poate fi variabilă, adică, cantitatea de memorie alocată pentru matrice

determinată în timpul rulării. Eliberarea memoriei dinamice a șterge [];

matrice dinamică multidimensionala pot fi declarate, de exemplu, după cum urmează:

int ** myArray = (int **) new int [N1] [10];

sau, de exemplu, ca o matrice matrice:

cout <<" Введите количество строк и столбцов :";

cin >> N1 >> N2;

int ** myArray = new int * [N1];

pentru (int i = 0; i

MyArray [i] = new int [N2];

Programul următor este o modificare a celui anterior, si foloseste un tablou dinamic.

cout<<"Enter number of elements of a file: ";// Введите число //элементов

cin >> N; // Introduceți numărul de articole

int * myArray = new int [N]; // Crearea unei matrice

int i = 0; // ciclu conta

int S = 0; // cantitate inițială

în timp ce (i

S + = myArray [i]; // adauga la suma

i ++; // Incrementare contorul de unul

șterge [] myArray; // Delete array și deallocation

Memoria pentru matrice este alocat un bloc, elementele din ea sunt plasate într-un rând, de la început până la sfârșit. Un nume matrice indică începutul blocului (și astfel este un pointer). Comparativ cu matrice de bază sau Pascal de matrice C ++ caracteristici sunt:

• numerotarea elementelor începe întotdeauna de la zero;

• În timp ce face o serie de elemente care nu se potrivește cu numărul de elemente din lista de inițializare, atunci fie matrice este completat de zero valori, sau o parte a elementelor care nu este folosit la sfârșitul listei de inițializare.

articole similare