PatrickSwayze

Untitled

Nov 12th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. /*
  2.  10.    Napisz program, który będzie generował w sposób losowy
  3.  liczby rzeczywiste z przedziału [-10, 10] dopóki ich suma będzie
  4.  mniejsza od  liczby podanej przez użytkownika a następnie wyświetli
  5.  wartość średniej arytmetycznej tych liczb. Suma nie powinna
  6.  uwzględniać ostatniej z generowanych liczb (tej, która spowodowała
  7. przekroczenie wartości sumy podanej przez użytkownika).
  8. */
  9. #include <iostream>
  10. #include <cstdlib>
  11. #include <windows.h>
  12. #include <ctime>
  13.  
  14. using namespace std;
  15.  
  16. int main()
  17. {
  18.     cout<<"Witaj w programie. Podaj liczbe, ktora ma byc granica sumy losowych liczb zmiennoprzecinkowych: ";
  19.     double n, suma=0,srednia=0,liczba;
  20.     cin>>n;
  21.  
  22.     srand( time( NULL ) ); //dzieki temu liczba bedzie zawsze inna bo losowosc bazuje na czasie z komputera
  23.     do
  24.     {
  25.     liczba = -10 +( double ) rand() / RAND_MAX *( 10 - (-10) ); //generuje liczbe zmiennoprzecinkowa z zakresu -10;10
  26.     if (suma+liczba>=n) goto zapetle; //sprawdza czy podana razem z wczesniejszymi (suma) nie przekracza wartosci "n" podanej przez usera
  27.  
  28.     if (liczba>0) cout<<" "<<liczba<<endl; //tylko dla kosetyki, zeby liczby wyswietlaly sie w tej samej kolumnie
  29.     else  cout<<liczba<<endl;
  30.     suma=suma+liczba;
  31.     srednia=srednia+1;
  32.     //cout<<suma<<" "<<srednia<<"  "<<n;
  33.  
  34.     }
  35.     while (suma<n);
  36.     zapetle:
  37.     cout<<"Suma wynosi= "<<suma<<endl;
  38.     cout<<"Srednia wynosi= "<<suma/srednia<<endl;
  39.     cout<<"Ostatnia cyfra, ktora przekroczyla liczbe podana przez uzytkownika "<<"("<<n<<")"<<": "<<liczba<<endl;
  40.  
  41.  
  42.     return 0;
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment