Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 10. Napisz program, który będzie generował w sposób losowy
- liczby rzeczywiste z przedziału [-10, 10] dopóki ich suma będzie
- mniejsza od liczby podanej przez użytkownika a następnie wyświetli
- wartość średniej arytmetycznej tych liczb. Suma nie powinna
- uwzględniać ostatniej z generowanych liczb (tej, która spowodowała
- przekroczenie wartości sumy podanej przez użytkownika).
- */
- #include <iostream>
- #include <cstdlib>
- #include <windows.h>
- #include <ctime>
- using namespace std;
- int main()
- {
- cout<<"Witaj w programie. Podaj liczbe, ktora ma byc granica sumy losowych liczb zmiennoprzecinkowych: ";
- double n, suma=0,srednia=0,liczba;
- cin>>n;
- srand( time( NULL ) ); //dzieki temu liczba bedzie zawsze inna bo losowosc bazuje na czasie z komputera
- do
- {
- liczba = -10 +( double ) rand() / RAND_MAX *( 10 - (-10) ); //generuje liczbe zmiennoprzecinkowa z zakresu -10;10
- if (suma+liczba>=n) goto zapetle; //sprawdza czy podana razem z wczesniejszymi (suma) nie przekracza wartosci "n" podanej przez usera
- if (liczba>0) cout<<" "<<liczba<<endl; //tylko dla kosetyki, zeby liczby wyswietlaly sie w tej samej kolumnie
- else cout<<liczba<<endl;
- suma=suma+liczba;
- srednia=srednia+1;
- //cout<<suma<<" "<<srednia<<" "<<n;
- }
- while (suma<n);
- zapetle:
- cout<<"Suma wynosi= "<<suma<<endl;
- cout<<"Srednia wynosi= "<<suma/srednia<<endl;
- cout<<"Ostatnia cyfra, ktora przekroczyla liczbe podana przez uzytkownika "<<"("<<n<<")"<<": "<<liczba<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment