Advertisement
molendzik

Untitled

Sep 29th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.86 KB | None | 0 0
  1. #include <iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. float *ZapelnijTablice(float *tab, int n)
  7. {
  8.  
  9.     for(int i=0;i<n;i++)
  10.     {
  11.         cout<<"Podaj "<<i+1<<" element tablicy"<<endl;
  12.         cin>>tab[i];
  13.     }
  14.     return tab;
  15. }
  16.  
  17. void PodajRozmiarTablicy(int &rozmiarTablicy)
  18. {
  19.     cout<<"Podaj rozmiar tablicy"<<endl;
  20.     cin>>rozmiarTablicy;
  21.  
  22. }
  23.  
  24. void WyswietlTablice (float *tab,int rozmiar)
  25. {
  26.     for(int i=0;i<rozmiar;i++)
  27.     {
  28.         cout<<i+1<<" element ma wartosc "<<tab[i]<<endl;
  29.     }
  30. }
  31.  
  32. float ZnajdzMaksimum(float *tab, int rozmiar)
  33. {
  34.     float maksimum = tab[0];
  35.     for(int i=1;i<rozmiar;i++)
  36.     {
  37.         if(maksimum<tab[i])
  38.         {
  39.             maksimum=tab[i];
  40.         }
  41.     }
  42.     return maksimum;
  43. }
  44.  
  45. float ZnajdzMinimum(float *tab, int rozmiar)
  46. {
  47.     float minimum = tab[0];
  48.     for(int i=1;i<rozmiar;i++)
  49.     {
  50.         if(minimum>tab[i])
  51.         {
  52.             minimum=tab[i];
  53.         }
  54.     }
  55.     return minimum;
  56. }
  57.  
  58. void WypiszWartoscNaEkran(float wartosc, string tekst)
  59. {
  60.     cout<<tekst<<" "<<wartosc<<endl;
  61. }
  62.  
  63. float Srednia(float *tab,int rozmiar)
  64. {
  65.     float wynik = 0.0;
  66.     for(int i=0;i<rozmiar;i++)
  67.     {
  68.         wynik+=tab[i];
  69.     }
  70.     wynik /= rozmiar;
  71.     return wynik;
  72. }
  73.  
  74. void Sortuj(float *tab,int rozmiar, bool czyRosnaco=true)
  75. {
  76.     float temp;
  77.     for(int i=0;i<rozmiar;i++)
  78.     {
  79.         for(int j=0;j<rozmiar-i-1;j++)
  80.         {
  81.             if(czyRosnaco==true)
  82.             {
  83.                 if(tab[j]>tab[j+1])
  84.                 {
  85.                     temp = tab[j];
  86.                     tab[j] = tab[j+1];
  87.                     tab[j+1] = temp;
  88.                 }
  89.             }
  90.             else
  91.             {
  92.                 if(tab[j]<tab[j+1])
  93.                 {
  94.                     temp = tab[j];
  95.                     tab[j] = tab[j+1];
  96.                     tab[j+1] = temp;
  97.                 }
  98.             }
  99.         }
  100.     }
  101. }
  102.  
  103. float Mediana(float *temp,int rozmiar)
  104. {
  105.     float wynik = 0.0;
  106.     Sortuj(temp,rozmiar);
  107.     if( (rozmiar%2) ==0)
  108.     {
  109.         wynik = temp[(rozmiar/2)-1]+temp[(rozmiar/2)];
  110.         wynik/=2;
  111.     }
  112.     else
  113.     {
  114.         wynik = temp[(rozmiar/2)];
  115.     }
  116.     return wynik;
  117. }
  118.  
  119.  
  120.  
  121.  
  122. int main()
  123. {
  124.     int rozmiarTablicy;
  125.     float *tablica;
  126.     PodajRozmiarTablicy(rozmiarTablicy);
  127.     tablica = new float[rozmiarTablicy];
  128.     ZapelnijTablice(tablica,rozmiarTablicy);
  129.     WyswietlTablice(tablica,rozmiarTablicy);
  130.     Srednia(tablica,rozmiarTablicy);
  131.     Sortuj(tablica,rozmiarTablicy,false);
  132.     WyswietlTablice(tablica,rozmiarTablicy);
  133.     WypiszWartoscNaEkran(ZnajdzMaksimum(tablica,rozmiarTablicy),"Maksymalna wartosc w tablicy, to");
  134.     WypiszWartoscNaEkran(Srednia(tablica,rozmiarTablicy),"Srednia wartosc elementow w tablicy, to:");
  135.     cout<<ZnajdzMinimum(tablica,rozmiarTablicy);
  136.     delete [] tablica;
  137.  
  138.     return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement