Advertisement
machkovskitomche

gsl_matrix2k17/2k18Ikolok termin3

Apr 7th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.62 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<gsl/gsl_matrix.h>
  4. #include<gsl/gsl_vector.h>
  5. #include<gsl/gsl_rng.h>
  6. #include<time.h>
  7.  
  8. int main()
  9. {
  10.     gsl_matrix *m;
  11.     gsl_vector *v1;
  12.     int i,j,K,L,N,Z;
  13.     printf("Vnesete gi dimenziite na matricata KxL:\t");
  14.     scanf("%d%d",&K,&L);
  15.     m=gsl_matrix_calloc(K,L);
  16.     printf("Vnesete ja dimenzijata na vektorot N:");
  17.     scanf("%d",&N);
  18.     v1=gsl_vector_alloc(N);
  19.     gsl_rng *r;
  20.     gsl_rng_env_setup();
  21.     r=gsl_rng_alloc(gsl_rng_default());
  22.     gsl_rng_set(r,time(0));
  23.     for(i=0;i<N;i++)
  24.     {
  25.         double u=gsl_rng_uniform(r);
  26.         int izbor=(int)(u*1000)%145+25;
  27.         gsl_vector_set(v1,i,izbor);
  28.        
  29.     }
  30.     gsl_rng_free(r);
  31.     printf("Vektorot na pocetok izgleda vaka: \n");
  32.     for(i=0;i<N;i++)
  33.     {
  34.         printf("%g",gsl_vector_get(v1,i));
  35.     }
  36.     int k,br=1;
  37.     printf("Vnesete go Z: ");
  38.     scanf("%d",&Z);
  39.     for(i=0;i<K;i++)
  40.     {
  41.         for(j=0;j<L;j++)
  42.         {
  43.             gsl_vector *pom;
  44.             pom=gsl_vector_alloc(Z);
  45.             int brojac=0;
  46.          for(k=(br*Z)-Z;k<br*Z;k++)
  47.          {
  48.              
  49.             gsl_vector_set(pom,brojach,gsl_vector_get(v1,k));
  50.             brojac++;
  51.          }
  52.          gsl_matrix_set(m,i,j,gsl_vector_max(pom));
  53.          br++;
  54.          gsl_vector_free(pom);
  55.          
  56.         }
  57.     }
  58.     printf("Na kraj matricata izgleda vaka: \n");
  59.     for(i=0;i<K;i++)
  60.     {
  61.         for(j=0;j<L;j++)
  62.         {
  63.             printf("%g",gsl_matrix_get(m,i,j));
  64.         }
  65.     }
  66.     printf("\n");
  67.     gsl_matrix_free(m);
  68.     gsl_vector_free(v1);
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement