[C] Dynamiczna alokacja tablic dwuwymiarowych - qick que

jimarcin
Użytkownik
Użytkownik
Posty: 22
Rejestracja: 14 sty 2009, o 19:45
Podziękował: 3 razy
Pomógł: 1 raz

[C] Dynamiczna alokacja tablic dwuwymiarowych - qick que

Post autor: jimarcin »

Witajcie,
proszę powiedzieć, czy gdzieś popełniłem błąd?
Jak można się domyślić, to początek programu; później tylko wypisuje tablice (w tym wypadku macierz) i czysci pamięć.

Kod: Zaznacz cały

int N, M;
	int **tab;
        int i, j;

	printf("Ile wierszy? ");
		scanf("%d", &N);
	printf("
Ile kolumn? ");
		scanf("%d", &M);

	tab=(int**)malloc(N*sizeof(int *));
        for(i=0; i<M; i++)
		{
                tab[i]=(int*)malloc(M*sizeof(int));
		}
Ciekawostka: Śmiga przy marycach 5x5, 2x2, ale sypie się przy takich jak 5x1..
Pomocy!

Pozdrawiam.

Tutaj cały kod dla zainteresowanych:
Ukryta treść:    
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

[C] Dynamiczna alokacja tablic dwuwymiarowych - qick que

Post autor: Szemek »

Kod: Zaznacz cały

tab=(int**)malloc(N*sizeof(int *));
        for(i=0; i<M; i++)
tu masz błąd z N i M
jimarcin
Użytkownik
Użytkownik
Posty: 22
Rejestracja: 14 sty 2009, o 19:45
Podziękował: 3 razy
Pomógł: 1 raz

[C] Dynamiczna alokacja tablic dwuwymiarowych - qick que

Post autor: jimarcin »

Dziękuję za odpowiedź : )
Również podejrzewałem to miejsce, bo na dobra sprawę to tam skupia sie ta cala dynamika..
ale jako ze obcuję z tym tematem od wczoraj, to nie za bradzo ograniam..

mógłbyś trochę jaśniej naprowadzić jak powinno to działać?
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

[C] Dynamiczna alokacja tablic dwuwymiarowych - qick que

Post autor: Szemek »

Rozpatruj dwuwymiarową tablicę alokowaną dynamicznie jako tablicę tablic.
Najpierw tworzysz tablicę wskaźników, które wskazują na tablice jednowymiarowe.
ODPOWIEDZ