Witam serdecznie,
mam za zadanie stworzyć program gdzie pobieram do programu macierz, która następnie jest edytowana jako argument funkcji. Program kompiluje się jednak od razu gdy przychodzi do użycia argumentu w środku funkcji (elementu tablicy) program się sypie.
Funkcja o której mowa (wymiary tablicy (w i k) są jako zmienne globalne):
//funkcja pobierajaca tablice dynamiczna dwuwymiarowa
int funkcja3(int **tablica)
{
for(i=0;i<w;i++)
{
for(j=0;j<k;j++)
{
if(tablica[i][j]<0)
licznik++;
}
}
printf("%d",licznik);
if(licznik >= 6)
{
for(i=0;i<w;i++)
{
for(j=0;j<k;j++)
{
if(tablica[i][j]<0)
tablica[i][j];
}
}
}
return **tablica;
}
Tak wygląda wywołanie funkcji, co do którego mam spore wątpliwości. Natomiast sprawdziłem - program wchodzi do funkcji a sypie się przy pierwszym wykorzystaniu elementu tablicy.
**a=funkcja3(**a);
Dla pewności tutaj jeszcze kod z dynamicznej alokacji:
//alokacja pamieci dla dynamicznie tworzonej tablicy 2 wymiarowej (macierzy)
a = (int**)malloc(sizeof(int*)*k);
for (i = 0; i<w; i++)
{
a[i] = (int*)malloc(sizeof(int)*k);
}
Bardzo proszę o pomoc. Zawsze programowałem w C++, natomiast obecnie muszę korzystać ze starych funkcji znanych z języka C i powoli się w tym gubię, być może tu leży problem.
Z góry bardzo dziękuję za pomoc, pozdrawiam serdecznie.