Hey. Mam problem z usunięciem wiersza w tablicy dwuwymiarowej zadeklarowanej dynamicznie.
void DeleteRow(int *N, int* M, int** a, int n)
{
(*N)--;
for(int i = n; i < *N; i++)
{
*(M + i) = *(M + i + 1);
}
M = (int*)realloc(M, *N * sizeof(int));
for(int i = n; i < *N; i++)
{
*(a + i) = (int*)realloc(*(a + i), *(M + i) * sizeof(int));
for (int j = 0; j < *(M + i); j++)
{
*(*(a + i) + j) = *(*(a + i + 1) + j);
}
}
a = (int**)realloc(a, *N * sizeof(int));
}
int main()
{
int N, *M, **a; // N - liczba wierszy, M - tablica dlugosci wierszy, a - tablica dwuwymiarowa
scanf("%d", &N);
M = (int*)malloc(N * sizeof(int));
a = (int**)malloc(N * sizeof(int));
LoadArray(N, M, a);
int n;
scanf("%d", &n);
DeleteRow(&N, M, a, n);
//...
return 0;
}
Ktos mi powie co jest zle?