Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Rekurencja w C++

$
0
0

Witam, mam za zadanie napisać 2 funkcje rekurencyjne zamieniające kolejne elementy tablicy w jedna liczbę, na zasadzie 1 2 3 4 daje liczbę całkowitą 1234. O ile z pierwszą funkcją sobie jakoś poradziłem, o tyle druga funkcja mająca za zadanie zrobienie tego samego w odwrotnej kolejności (1 2 3 4 daje liczę 4321) przyprawia mnie o ból głowy. Kompletnie nie mogę sobie z tym poradzić i nie rozumiem otrzymywanych wyników. Proszę o podpowiedź co należało by zmienić. Pozdrawiam.

#include <iostream>
#include <cmath>

using namespace std;



long REK1 (int krok, int tab[])
{
    if (krok==0)
    {
        return 0;
    }

    krok--;

    return tab[krok]*pow(10, krok)+REK1 (krok, tab);//tab[krok-1]*pow(10, krok-1)+REK1(krok-1, tab);
}






long REK2 (int krok, int tab[], int k)
{


    if (krok==0)
    {


        return tab[krok];

    }


    krok--;

    return tab[krok]*pow(10, k)+REK2 (krok, tab, ++k);


}

int main()
{
    int tab[9]={9,8,7,6,5,4,3,2,1};
    int krok=9;

    int k=0;


    cout<<REK1 (krok, tab)<<endl<<endl;


    cout<<REK2 (krok, tab, k)<<endl<<endl;


    return 0;
}

 


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>