SHARE
TWEET

Untitled

a guest Jan 23rd, 2019 64 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <string.h>
  4.  
  5. #define N 10
  6.  
  7. typedef mytab[N];
  8.  
  9. int zakres()
  10. {
  11.     return rand()%10;
  12. }
  13.  
  14. void wypelnij(int tablica1[])
  15. {
  16.     printf("Maszyna losujaca jest pusta, nastepuje zwolnienie blokady \n");
  17.    
  18.     int i;
  19.    
  20.     for (i=0;i<N;i++)
  21.     {
  22.         tablica1[i]=zakres();
  23.     }
  24.    
  25. }
  26. void wypisztablice(int tablica1[])
  27. {
  28.     int i;
  29.    
  30.     for(i=0;i<N;i++)
  31.     {
  32.         printf("%d. %d\t",i+1, tablica1[i]);
  33.         printf("\n");
  34.     }
  35. }
  36. double sredniatablicy(int tablica1[])
  37. {
  38.     int i;
  39.     double suma;
  40.    
  41.     for(i=0;i<N;i++)
  42.     {
  43.         suma=suma+tablica1[i];
  44.     }
  45.     double srednia=suma/N;
  46.     return srednia;
  47. }
  48. int maxymalna(int tablica1[])
  49. {
  50.     int i,j,a=0;
  51.     int max;
  52.     max=0;
  53.     for (i=0;i<N;i++)
  54.     {
  55.         if(max<tablica1[i])
  56.            max=tablica1[i];  
  57.     }
  58.     for(j=0;j<N;j++)
  59.     {
  60.         if(tablica1[j]==max)
  61.         a++;
  62.     }
  63.     printf("wartosc max wystepuje %d\n", a);
  64.     return max;
  65. }
  66. int minimalna(int tablica1[])
  67. {
  68.     int i,j,a=0;
  69.     int min;
  70.     min=tablica1[0];
  71.     for(i=0;i<N;i++)
  72.     {
  73.         if(min>tablica1[i])
  74.           min=tablica1[i];
  75.     }
  76.     for(j=0;j<N;j++)
  77.     {
  78.         if(tablica1[j]==min)
  79.         a++;
  80.     }printf("wartosc min wystepuje %d\n", a);
  81.     return min;
  82. }
  83. double srednia_nieparzystych_cyfr(int tablica1[])
  84. {
  85.     int i;
  86.     double srednia;
  87.     double suma;
  88.     int a=0;
  89.     for (i=0;i<N;i++)
  90.     {
  91.         if(tablica1[i]%2!=0)
  92.            {
  93.            suma=suma+tablica1[i];
  94.            a++;
  95.            }
  96.        
  97.            
  98.     }
  99.     srednia=suma/a;
  100.     return srednia;
  101. }
  102. double srednia_parzystych(int tablica1[])
  103. {
  104.     int i;
  105.     double srednia;
  106.     double suma;
  107.     int a=0;
  108.     for(i=0;i<N;i++)
  109.     {
  110.         if(tablica1[i]%2==0)
  111.         {
  112.             suma=suma+tablica1[i];
  113.             a++;
  114.         }
  115.         srednia=suma/a;
  116.     } return srednia;
  117. }
  118. void histogram(int tablica1[])
  119. {
  120.     int wynik=0;
  121.     int i,j;
  122.     printf("histogram tablicy: \n");
  123.     for (j=-5; j<5; j++)
  124.       {
  125.          for (i=0;i<N;i++)
  126.          if (tablica1[i]==j)
  127.          {
  128.             wynik++;
  129.          }
  130.            
  131.           printf("\n%d:%d",j , wynik);
  132.           wynik=0;
  133.            
  134.       }
  135. }
  136. /*void wyswietl_histogram(int hist[])
  137. {
  138.     printf("histogram tablicy: \n");
  139.     int i;
  140.     for(i=0;i<N;i++)
  141.     {
  142.         printf("%d: %d\t",i,hist[i]);
  143.         printf("\n");
  144.     }
  145. }*/
  146.  
  147. void swap(int *a, int *b)
  148. {
  149.     int temp;
  150.     temp=*a;
  151.     *a=*b;
  152.     *b=temp;
  153. }
  154.  
  155. void selection_sort(int tablica1[])
  156. {
  157.     int i,j;
  158.    
  159.     for(i=0; i<N-1;i++)
  160.     {
  161.         int min=i;
  162.         for(j=i+1; j<N; j++)
  163.            if(tablica1[min]>tablica1[j])
  164.               min=j;
  165.         if(min!=i)
  166.             swap(&tablica1[min],&tablica1[i]);      
  167.            
  168.     }
  169.     printf("\nPosortowana tablica:\n ");
  170.     for(i=0; i<N;i++)
  171.     {
  172.         printf("%d. %d\t", i+1, tablica1[i]);
  173.         printf("\n");
  174.     }
  175. }
  176. void losowanie_drugatablica(int tablica2[], int tablica1[])
  177. {
  178.     printf("\ndruga tablica to \n");
  179.     int i;
  180.     for (i=0;i<N;i++)
  181.     {
  182.         tablica2[i]=zakres();
  183.     }
  184.     for(i=0;i<N;i++)
  185.     {
  186.         printf("%d. %d\t", i+1, tablica2[i]);
  187.         printf("\n");
  188.     }
  189. }
  190.  
  191. double srednia_waz(int tablica2[], int tablica1[])
  192. {
  193.    double sumaWag=0;
  194.    double sumaliczb=0;
  195.    double srednia;
  196.    int i;
  197.    
  198.    for (i=0;i<N;i++)
  199.    {
  200.       sumaWag=sumaWag+tablica2[i];
  201.       sumaliczb+=tablica1[i]*tablica2[i];
  202.      
  203.    } srednia=sumaliczb/sumaWag;
  204.      return srednia;
  205. }
  206.  
  207.  
  208. int main()
  209. {
  210.     srand (time(0));   
  211.     mytab tablica1,tablica2;
  212.     wypelnij(tablica1);
  213.     wypisztablice(tablica1);
  214.     printf("srednia tablicy= %f\n",sredniatablicy(tablica1));
  215.     printf("wartosc maxymalna= %d\n",maxymalna(tablica1));
  216.     printf("wartosc minimalna= %d\n",minimalna(tablica1));
  217.     printf("srednia nieparzystych cyfr %f\n", srednia_nieparzystych_cyfr(tablica1));
  218.     printf("srednia parzystych cyfr %f\n", srednia_parzystych(tablica1));
  219.  
  220.     printf("\n");
  221.  
  222.     histogram(tablica1);
  223.     //wyswietl_histogram(hist);
  224.     selection_sort(tablica1);
  225.     losowanie_drugatablica(tablica2,tablica1);
  226.     printf("srednia wazona= %d",srednia_waz(tablica2,tablica1));
  227. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top