<<= inapoi la Marice

Initializarea matricelor cu valori prestabilite


Pentru a initializa o matrice se procedeaza ca in exemplul urmator:
Screen Shot 2015-03-31 at 20.27.41.png

Cand compilatorul C++ proceseaza lista, el ignora acoladele din interior. Totusi, se recomanda sa fie folosite.
Putem omite (doar) specificarea domensiunii pentru linii:
Screen Shot 2015-03-31 at 20.27.47.png
Compilatorul poate sa identifice astfel dimensiunea matricei. Totusi, in cazul in care ambele dimensiuni lipsesc, compilatorul nu mai stie sa identifice corect numarul de coloane si implicit de linii. De exemplu, daca matricea se declara si initializeaza ca mai jos:

int a[][]={1,2,3,4},{5,6,7,8};
deoarece acoladele din interior sunt ignorate, compilatorul nu poate spune daca se doreste declararea unei matrice de 1×8, 2×4, 4×2, sau 8×1.
#include <iostream>
using namespace std;
 
int main() {
    int a[3][5]={{1,2,3,4,5},
                 {6,7,8,9,8},
                 {4,5,1,2,3}
                };
    int b[][5]= {{1,2,3,4,5,},{6,7,8,9,10,},{11,12,13,14,15}};
 
    int i, j;
    for(i=0; i<=2; i++){
        for(j=0; j<=4; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    cout<<"--------------"<<endl;
    for(i=0; i<=2; i++){
        for(j=0; j<=4; j++)
            cout<<b[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}
Ca si tablourile unidimensionale, matricele se pot initializa cu 0 astfel:


int a[3][5]={0};

Acest lucru functioneaza NUMAI daca in mod explicit se declara matricea cu numar cunoscut de linii si coloane. altfel se va obtine o matrice cu o singura linie.