Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.94 KB | None | 0 0
  1. void kubelkowe(struct punkt *punk,int x)
  2. {
  3.     int m,i,*j,a,b=0;
  4.     float wmin,wmax,sk=0;
  5.     double **z,**y;
  6.     printf("podaj liczbe kubelkow\n");
  7.     scanf("%d",&m);
  8.     wmin=-1.5;
  9.     wmax=1.5;
  10.     j=(int*)calloc(m+1,sizeof(int));
  11.     sk=(float)((wmax-wmin)/m);
  12.     z=(double**)malloc((m+1)*sizeof(double*));
  13.     y=(double**)malloc((m+1)*sizeof(double*));
  14.     for(i=0;i<(m+1);i++)
  15.     {
  16.         z[i]=(double*)malloc(sizeof(double));
  17.         y[i]=(double*)malloc(sizeof(double));
  18.     }
  19.     for(i=0;i<x;i++)
  20.     {
  21.         a=(int)(punk[i].wartosc-wmin)/sk;
  22.         j[a]++;
  23.         if(j[a]!=1) z[a]=(double*)realloc(z[a],(j[a])*sizeof(double));
  24.         if(j[a]!=1) y[a]=(double*)realloc(y[a],(j[a])*sizeof(double));
  25.         z[a][j[a]-1]=punk[i].wartosc;
  26.         y[a][j[a]-1]=punk[i].czas;
  27.     }
  28.     for(i=0;i<(m+1);i++)
  29.     {
  30.         babelkowet(j[i],z[i],y[i]);
  31.         for(a=0;a<j[i];a++)
  32.         {
  33.             punk[b].wartosc=z[i][a];
  34.             punk[b].czas=y[i][a];
  35.             b++;
  36.         }
  37.     }
  38.     for(i=0;i<(m+1);i++)
  39.     {
  40.         free(z[i]);
  41.         free(y[i]);
  42.     }
  43.     free(z);
  44.     free(y);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement