Witajcie
Mam problem, a mianowicie gdy podaje wymiary tablicy dynamicznej 2 wymiarowej to kiedy pierwszy parametr bedzie wiekszy niz drugi (wymiary tablicy) to wyskakuje błąd i zatrzymanie programu. Kiedy natomiast podam na odwrót to jest wszystko wporządku.
Gdzie popełniłem błąd? Proszę o odpowiedz. Wyrzuca błąd podczas losowania liczb do konkretnej komorki.
#include <stdlib.h>
#include <stdio.h>
void wczyt(int **tab,int a,int b);
int main()
{
srand(time(NULL));
int a,b;
int **tab;
printf("Podaj liczby a i b:");
scanf("%d %d",&a,&b);
tab=new int *[a];
for(int j=0;j<a;j++) //zapisuje NULL do wzkaznikow
{
tab[j]=NULL;
}
for(int x=0;x<a;x++) //sprawdzam czy sa one nulem wszystkie
{
if(tab[x]!=NULL)
printf("Komorka %d nie jest Nulem\n",x);
else
{
printf("%d OK\n",x);
}
}
for(int i=0;i<b;i++)
{
tab[i]=new int[b];
}
wczyt(tab,a,b);
wypisz(tab,a,b);
sprawdz_wiersz(tab,a,b);
//elem(tab,a,b);
system("pause");
return 0;
}
void wczyt(int **tab,int a,int b)
{
int i,j,e=0;
printf("Wczytywanie liczb!\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
e=rand()%2;
tab[i][j]=e;
e=0;
}
}
}