Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cmath>
  5. #include <conio.h>
  6. #include <fstream>
  7. using namespace std;
  8.  
  9. void wyswietl(float *tab,int n)
  10. {
  11.     for(int i=0;i<n;i++)cout<<"liczba nr."<<i<<"= "<<tab[i]<<endl;
  12. }
  13. void wprowadz(float * tab, int n)
  14. {
  15.     for(int i =0;i<n;i++)
  16.     {
  17.         cout<<"wprowadz liczbe nr."<<i<<" :";
  18.         cin>>tab[i];
  19.     }
  20. }
  21. float minimum(float* tab, int n)
  22. {
  23.     float min=tab[0];
  24.     for(int i=1;i<n;i++)
  25.     {
  26.         if(tab[i]<min)min=tab[i];
  27.     }
  28.     return min;
  29. }
  30. float maximum(float* tab, int n)
  31. {
  32.     float max=tab[0];
  33.     for(int i=1;i<n;i++)
  34.     {
  35.         if(tab[i]>max)max=tab[i];
  36.     }
  37.     return max;
  38. }
  39. float srednia_ar(float* tab, int n)
  40. {
  41.     float suma=0;
  42.     for(int i=0;i<n;i++)suma = suma+tab[i];
  43.     return (suma/n);
  44. }
  45. float srednia_ge(float* tab, int n)
  46. {
  47.     float iloczyn=1;
  48.     for(int i=0;i<n;i++)iloczyn = iloczyn*tab[i];
  49.     return (pow(iloczyn,(1.0/n)));
  50. }
  51.  
  52. void znajdz(float* tab, int n)
  53. {
  54.     int liczzero=0;
  55.     int liczujemne=0;
  56.     for(int i=0;i<n;i++)
  57.     {
  58.         if(tab[i]<0)
  59.         {
  60.             cout<<"liczba nr."<<i<<"jest mniejsza od 0"<<endl;
  61.             liczujemne++;
  62.         }  
  63.     }
  64.     cout<<"w sumie jest "<<liczujemne<<" liczb mniejszych od 0"<<endl;
  65.     for(int j=0;j<n;j++)
  66.     {
  67.         if(tab[j]==0)
  68.         {
  69.             cout<<"liczba nr."<<j<<"rowna sie 0"<<endl;
  70.             liczzero++;
  71.         }
  72.     }
  73.     cout<<"w sumie jest "<<liczzero<<" liczb rownych 0"<<endl;
  74. }
  75.  
  76. void sortuj(float* tab, int n)
  77. {
  78.     float buf;
  79.     bool zmiana;
  80.     do
  81.     {
  82.         zmiana = false;
  83.         for(int i=0;i<n;i++)
  84.         {
  85.             if(tab[i]>tab[i+1])
  86.             {
  87.                 zmiana=true;
  88.                 buf=tab[i];
  89.                 tab[i]=tab[i+1];
  90.                 tab[i+1]=buf;
  91.             }
  92.         }
  93.     }
  94.     while(zmiana==true);
  95.     wyswietl(tab,n);
  96. }
  97. void zapisz(float* tab, int n)
  98. {
  99.     fstream plik;
  100.     plik.open("liczby.txt", ios::in | ios::out);
  101.     if(plik.is_open())
  102.     {
  103.         cout<<"otwarto plik"<<endl;
  104.     }
  105.     else
  106.     {
  107.         cout << "Nie udalo sie otworzyc pliku. Tworzenie nowego pliku... "<<endl;
  108.         plik.open("liczby.txt", ios::in | ios::out |ios::trunc);
  109.     }
  110.     for(int i =0;i<n;i++)
  111.     {
  112.         plik<<tab[i]<<endl;    
  113.     }
  114.     cout<<"pomyslnie zapisano do pliku"<<endl;
  115.    
  116.     plik.close();  
  117. }
  118. int main()
  119. {
  120.     int n,polecenie;
  121.     cout<<"Ile liczb chcesz wczytac? "<<endl;
  122.     cin>>n;
  123.    
  124.    
  125.     float *tab;     //stworzenie dynamicznej tablicy o rozmiarze podanym przez użytkownika
  126.     tab = new float[n];
  127.     wprowadz(tab,n);
  128.  
  129.  
  130.     do
  131.     {
  132.         cout << "[1] minimum"<<endl;
  133.         cout << "[2] maximum"<<endl;
  134.         cout << "[3] srednia geometryczna"<<endl;
  135.         cout << "[4] srednia arytmetyczna"<<endl;
  136.         cout << "[5] sortuj"<<endl;
  137.         cout << "[6] znajdz zera i ujemne"<<endl;
  138.         cout << "[7] zapisz do .txt"<<endl;
  139.         cout << "[8] rezygnuj"<<endl;
  140.         cout << "Twoje polecenie:";
  141.         cin>>polecenie;
  142.         switch(polecenie)
  143.         {
  144.             case 1:
  145.                 minimum(tab,n);
  146.                 cout<<"minimum = "<<minimum(tab,n)<<endl;
  147.                 break;
  148.             case 2:
  149.                 cout<<"maksimum = "<<maximum(tab,n)<<endl;
  150.                 break;
  151.             case 3:
  152.                 cout<<"srednia geometryczna = "<<srednia_ge(tab,n)<<endl;
  153.                 break;
  154.             case 4:
  155.                 cout<<"srednia arytmetyczna = "<<srednia_ar(tab,n)<<endl;
  156.                 break;
  157.             case 5:
  158.                 sortuj(tab,n);
  159.                 break;
  160.             case 6:
  161.                 znajdz(tab,n);
  162.                 break;
  163.             case 7:
  164.                 zapisz(tab,n);
  165.                 break;
  166.             case 8:
  167.                 break;
  168.             default:
  169.                 cout << "Nieprawidlowe polecenie." <<endl;
  170.                 break;     
  171.         }
  172.     }
  173.     while(polecenie !=8);
  174.     delete[]tab;
  175.     return 0;
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement