| Chirila_Robert_1984 a întrebat:

ma poate ajuta cineva cu un cod pentru o alocare dinamica a unei matrici? Multumesc

Răspuns Câştigător
| SonicAndrei a răspuns:

Metoda C:

#include
int main() {
int nrLinii = 10, nrColoane = 10;
int **matrice = (int **)malloc(nrLinii * sizeof(int*));

for(int i = 0; i < nrLinii; i++)
matrice[i] = (int *)malloc(nrColoane * sizeof(int));

return 0;
}

Metoda C++:

#include
using namespace std;

int main() {
int nrLinii = 10, nrColoane = 10;
int** matrice = new int*[nrLinii];

for (int i = 0; i < nrLinii; i++)
matrice[i] = new int[nrColoane];

return 0;
}

Și ar fi bine ca la final să dealoci matricea ca să nu ai memory leak.
C:
for(int i = 0; i < nrLinii; i++)
free(matrice[i]);
free(matrice);

C++:
for (int i = 0; i < nrLinii; i++)
delete [] matrice[i];
delete [] matrice;

| SonicAndrei a răspuns (pentru SonicAndrei):

Văd că s-a pierdut indentarea și includ-urile. Pentru C trebuie inclusă biblioteca „stdlib.h", iar pentru C++ eventual „iostream".
Sper că ți-am fost de ajutor!

| Chirila_Robert_1984 explică (pentru SonicAndrei):

Multumesc!

2 răspunsuri: