Witam moim zadaniem jest dynamiczna alokacja dwuwymiarowej tablicy w funkcji,
Funkcja wygląda następująco;
int stworz_tablice(float **ptr, int N)
N
- to liczba elementów do zaalokowania
ptr
- to wskaźnik, pod który ma zostać zapisany adres utworzonej tablicy
Oto mój kod
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int stworz_tablice(float **ptr, int N)
{
if(N < 0) return 2;
ptr=(float **)malloc(sizeof(float *)*N);
int i,j;
for(i=0;i<N;i++)
{
*(ptr+i)=(float*)malloc(sizeof(float)*N);
if(ptr+i==NULL)
{
for(j=0;j<i;j++)
{
free(*(ptr+j));
}
free(ptr);
return 1;
}
}
return 0;
}
int main()
{
int x,i,j;
float c;
float **wsk;
float a=-10,b=10;
srand(time(0));
printf("Podaj ile liczb :");
scanf("%d",&x);
if(stworz_tablice(wsk,x)!=0)
{
printf("Error");
return 1;
}
for(i=0;i<x;i++)
{
for(j=0;j<x;j++)
{
*(*(wsk+i)+j)=a+(float)rand()/RAND_MAX*(a-b);
}
}
for(i=0;i<x;i++)
{
for(j=0;j<x;j++)
{
printf("%f ",*(*(wsk+i)+j));
}
}
return 0;
}
Program w pewnym momencie się zawiesza , nie dokońca wiem co jest tego przyczyną.