Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <conio.h>
- using namespace std;
- double silnia_rek(int s)
- {
- if (s==0)
- {
- return 1;
- }
- else
- return silnia_rek(s-1)*s;
- }
- double fib_rek(int s)
- {
- if (s==1)
- return 0.5;
- else if (s==2)
- return 1;
- else
- return 3*fib_rek(s-2)+fib_rek(s-1);
- }
- double fib_it(int s)
- {
- if (s==1)
- {
- return 0.5;
- }
- else if(s==2)
- {
- return 1;
- }
- else
- {
- double f1=0.5;
- double f2=1;
- int i=3;
- double f;
- do
- {
- f=3*f1+f2;
- f1=f2;
- f2=f;
- i++;
- }
- while (i<=s);
- return f;
- }
- }
- double silnia_it(int s)
- {
- int silnia=1;
- int licznik=1;
- if (s==0)
- {
- return 1;
- }
- else
- {
- while(licznik<=s)
- {
- silnia=silnia*licznik;
- licznik++;
- }
- }
- return silnia;
- }
- int main()
- {
- char kolejne='t';
- do
- {
- int liczba;
- cout<<"Podaj liczbe do oblicznia: ";
- cin>>liczba;
- while (liczba<0)
- {
- cout<<"Podaj poprawna liczbe do oblicznia: ";
- cin>>liczba;
- }
- cout<<endl;
- cout<<"-------MENU--GLOWNE-------"<<endl;
- cout<<"--------------------------"<<endl;
- cout<<"1. Silnia rekurencyjnie"<<endl;
- cout<<"2. Silnia iteracyjnie"<<endl;
- cout<<"3. Fibonacci rekurencyjnie"<<endl;
- cout<<"4. Fibonacci iteracyjnie"<<endl;
- cout<<"5. Wyjscie"<<endl;
- char wybor;
- wybor=getch();
- cout<<"Wybrano opcje: "<<wybor<<endl<<endl;
- cout<<endl;
- switch (wybor)
- {
- case '1':
- {
- cout<<"Silnia rekurencyjnie wynosi: "<<silnia_rek(liczba)<<endl;
- break;
- }
- case '2':
- {
- cout<<"Silnia iteracyjnie wynosi: "<<silnia_it(liczba)<<endl;
- break;
- }
- case '3':
- {
- cout<<"Fibonacci rekurencyjnie wynosi: "<<fib_rek(liczba)<<endl;
- break;
- }
- case '4':
- {
- cout<<"Fibonacci iteracyjnie wynosi: "<<fib_it(liczba)<<endl;
- break;
- }
- case '5':
- {
- cout<<"KONIEC"<<endl<<endl;
- exit(0);
- }
- default:
- cout<<"Brak opcji w menu"<<endl;
- }
- cout<<"\n \nCzy chesz jeszcze raz?";
- kolejne=getch();
- system("cls");
- }
- while (kolejne=='t');
- cout<<"KONIEC"<<endl<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement