Advertisement
machkovskitomche

gsl_matrix

Apr 7th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.65 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<gsl/gsl_matrix.h>
  4. #include<gsl/gsl_rng.h>
  5. #include<time.h>
  6. int main()
  7. {
  8.     gsl_matrix *m1;
  9.     m1=gsl_matrix_alloc(5,5);
  10.     int i,j;
  11.     for(i=0;i<5;i++)
  12.     {
  13.         for(j=0;j<5;j++)
  14.         {
  15.             int broj;
  16.             printf("Vnesete broj:");
  17.             scanf("%d",&broj);
  18.             while(broj<1||broj>1000)
  19.             {
  20.                 printf("Nevaliden vnes, probajte povtorno!!!\");
  21.                scanf("%d",&broj);
  22.            }
  23.            gsl_matrix_set(m1,i,j,broj);
  24.        }
  25.    }
  26.    printf("Matricata e:\n");
  27.    for(i=0;i<5;i++)
  28.    {
  29.        for(j=0;j<5;j++)
  30.        {
  31.            printf("%g",gsl_matrix_get(m1,i,j));
  32.            printf("\n");
  33.        }
  34.    }
  35.    
  36.   gsl_matrix *m2;
  37.   m2=gsl_matrix_alloc(5,5);
  38.   gsl_rng *r;
  39.   gsl_rng_env_setup();
  40.   r=gsl_rng_alloc(gsl_rng_default);
  41.   gsl_rng_set(r,time(0));
  42.  
  43.   for(i=0;i<5;i++)
  44.   {
  45.       for(j=0;j<5;j++)
  46.        {
  47.            double u= gsl_rng_uniform(r);
  48.            int broj=(int)(u*1000)+1;
  49.            gsl_matrix_set(m2,i,j,broj);
  50.        }
  51.   }
  52.   printf("Vtorata matrica e:\n");
  53.   for(i=0;i<5;i++)
  54.   {
  55.       for(j=0;j<5;j++)
  56.       {
  57.           printf("%g",gsl_matrix_get(m2,i,j));
  58.       }
  59.   }
  60.   int brojach;
  61.   for(i=0;i<5;i++)
  62.   {
  63.       for(j=0;j<5;j++)
  64.       {
  65.           if(gsl_matrix_get(m1,i,j)==gsl_matrix_get(m2,i,j))
  66.           {
  67.               brojach++;
  68.           }
  69.       }
  70.   }
  71.   printf("Procentot na poklopuvanje pomegju dvete matrici iznesuva: %d",br*(100/25));
  72.   gsl_matrix_free(m1);
  73.   gsl_matrix_free(m2);
  74.   gsl_rng_free(r);
  75.   return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement