Tablica dwuwymiarowa

0

Witam
Chcę wyświetlić 2 tablice dwuwymiarowe ( generalnie to mają być macierze), ale wywala jakiś błąd i nie mogę sobie z nim poradzić
A więc proszę o pomoc.

#include <stdio.h>
#include <stdlib.h>
#define M 3
#define N 3
int losuj_wyswietl(int **wsk, int m, int n, int przedzial)
{
	int i,j;
    for(i=0; i<n; i++)
    {
        printf(" \n");
		for(j=0; j<m; j++)
		wsk[i][j]=1+rand()%przedzial;
		printf("%d ", wsk[i][j]);
    }
		 return 0;
}

int main(int argc, char **argv)
{
    srand(time(NULL));
    int **wsk;
    int tab1[N][M], tab2[N][M];
    int i;

    wsk=(int**)malloc(N*sizeof(int*));

    for(i=0; i<M; i++)

    {
        wsk[i]=(int*)malloc(M*sizeof(int));
    }

    losuj_wyswietl(tab1, N, M, 10);
    losuj_wyswietl(tab2, N, M, 10);


	return 0;
}
 
0

zamiast:
for(i=0; i<M; i++)
napisz:
for(i=0; i<N; ++i)

zamiast:
losuj_wyswietl(tab1, N, M, 10);
napisz:
losuj_wyswietl(wsk, N, M, 10);

0

ok, teraz nie wyskakuje błąd, ale nie wiem czemu , program nie działa tak jak powinien, chodzi mi tutaj o to żeby wypisało macierz 3x3 .
A jeszcze takie pytanko, bo muszę wywołać dwa razy funkcję "losuj_wyswietl" aby uzyskać 2 różne macierze, w takim wypadku co mam wpisać w "wsk" (tam gdzie miałem wcześniej tab1 i tab2)?

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