Salve a tutti,
Ho un po' di problemi con la riallocazione dinamica di una matrice, in pratica devo allocare una "matrice quadrata" 1x1, e all'occorrenza aggiungere una riga e una colonna, quindi farla diventare 2x2,3x3....
Ho utilizzato un algoritmo come quello nel codice sottostante (in cui semplicemente la creo e con un ciclo for cerco di aggiungere una riga e una colonna ogni ciclo), il problema è che al lancio del programma compilato va subito in errore, credo che il sistema opertivo lo blocchi e non riesco a capire il perché.
EDIT: avevo scritto male il codice, ora c'è quello in questione
#include <stdlib.h>
#include <malloc.h>
#include <stdbool.h>
#include <stdio.h>
int **M,N;
int main(int argc, char** argv) {
N = 1;
M = (int**)malloc(sizeof(int*));
M[0] = (int*)malloc(sizeof(int));
for (int i = 0; i < 5; i++) {
N++;
M = (int**)realloc(M, N * sizeof(int*));
for (int k=0; k<N; k++)
M[k] = (int*)realloc(M, N * sizeof(int));
}
for (int i = 0; i < 5; i++) {
printf("\n");
for (int j = 0; j < 5; j++) {
M[i][j] = 0;
printf("%d ", M[i][j]);
}
}
while (getchar() != '\n');
}