Facebook
From Wojciech B, 4 Years ago, written in C++.
This paste is a reply to Zadanie 7 i 8 - Rekurencja from Wojciech B - go back
Embed
Viewing differences between Zadanie 7 i 8 - Rekurencja and Zadanie 7 i 8 - Rekurencja
///ZADANIE 7
#include 

using namespace std;

int silnia(int x)
{
    if (x>12)
    {
        cout << "Wartosc parametru nie moze wynosic wiecej niz 12! Podano: " << x << endl;
        return 0;
    }
    if (x<0)
    {
        cout << "Wartosc parametru nie moze wynosic mniej niz 0! Podano: " << x << endl;
        return 0;
    }
    else if (x==0) return 1;
    else return x*silnia(x-1);
}

int main()
{
    int liczba;
    cout << "Program liczy silnie funkcja rekurencyjna" << endl;
    cout << "Wystarczy podac liczbe mniejsza od 12" << endl;
    jeszcze_raz:
    cout << "Podaj liczbe:";
    cin >> liczba;
    if (silnia(liczba)!=0) cout << "Silnia z liczby " << liczba << " wynosi " << silnia(liczba) << endl;
    else goto jeszcze_raz;
}


///ZADANIE 8
#include 

using namespace std;

int nwd(int a, int b)
{
    if (b==0) {cout << "BLAD! Podano liczbe 0 w parametrze b!" << endl; return 0;}
    else if (a%b==0) return b;
    else return nwd(b,a%b);
}

int main()
{
    int liczba,liczba2;
    cout << "Program najwiekszy wspolczy dzielnik dwoch liczb funkcja rekurencyjna" << endl;
    cout << "Wystarczy podac dwie liczby, z czego druga musi byc rozna od zera" << endl;
    jeszcze_raz:
    cout << "Podaj liczbe:";
    cin >> liczba;
    cout << "Podaj 2 liczbe:";
    cin >> liczba2;
    if (nwd(liczba,liczba2)!=0) cout << "Najwiekszy wspolny dzielnik liczb " << liczba << " i " << liczba2 << " wynosi " << nwd(liczba,liczba2) << endl;
    else goto jeszcze_raz;
}