Witam,
Czy mógłby rzucić okiem jakiś spec od C, czy poniższe tworzenie tablicy jest poprawnie wykonywane ??
Program dobry wynik wyświetla, ale to nie znaczy że jest dobrze napisany.
//tablica jest wypełniana danymi w sposób spiralny (zgodnie z kieruniek ruchu wskazówek)
#include <stdio.h>
#include <stdlib.h>
int** stworzTablice(const unsigned int x, const unsigned int y)
{
int ** tab; //tablica dwuwymiarowa
int i; //iterator petli
*tab = (int *) malloc(x * sizeof(int*));
for(i = 0; i < x; ++i)
{
*(i + tab) = (int *) malloc(y * sizeof(int));
}
tab[1][1] = 7788;
return tab;
}
int main()
{
unsigned int x, y; // y liczba kolumn, x liczba wieszy
int **tab;
printf("Podaj liczbe wierszy ");
scanf("%u", &x);
printf("Podaj liczbe kolumn ");
scanf("%u", &y);
tab = stworzTablice(x, y);
printf("II = %d", tab[1][1]);
return 0;
}
Pozdrawiam
T
P.S. za pomoc mogę powiedzieć co robi koala jak płonie las?