Tablica dwuwymiarowa -tworzenie

0

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?

0

Nie jest tworzona dobrze.

2
int **stworzTablice(unsigned x,unsigned y)
  {
   int ** tab; //tablica dwuwymiarowa
   int i; //iterator petli
 
   tab=(int**)malloc(y*sizeof(int*));
   for(i=0;i<y;++i) tab[i]=(int*)malloc(x*sizeof(int));
   return tab;
  }
0

a teraz Szefie ?

 
//tablica jest wypełniana danymi w sposób spiralny (zgodnie z kieruniek ruchu wskazówek)
#include <stdio.h>
#include <stdlib.h>

//funkcja tworzy tablice 2 wymiarowa. Narpiew tworzy tablice x wskaźników typu int a potem do każdego wskaźnika tworzy tablice typu int
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;
}

void wypelnijTablice (int ** tablica, const unsigned int x, const unsigned int y)
{

}

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;
}

0

_13th_Dragon
Wielkie Dzięki

P.S. odpowiedź do Koali
Też Płonie

1 użytkowników online, w tym zalogowanych: 0, gości: 1