• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zliczanie wywołań funkcji

0 głosów
115 wizyt
pytanie zadane 17 listopada 2020 w C i C++ przez ifuknowme555 Początkujący (410 p.)
edycja 17 listopada 2020 przez ifuknowme555

mam mały problem w zadaniu w zliczaniu wywołań funkcji. chodzi o to aby licznik był jako zmienna globalna a nie lokalna. poniżej mam kodzik(1)

chciałbym sie upewnić jeszcze czy zliczanie obrotów pętli mogę zrobić tak (2)

int fibonacci_rec(int n) 
{
    if (n < 3)
        return 1;
    else
        return fibonacci_rec(n - 1) + fibonacci_rec(n - 2);
}
int fib_it(int n)
{
    int f1 = 1;
    int f2 = 1;
    int temp;
    if (n < 3)
        return 1;
    for (int i = 3; i <= n; i++)
    {
        temp = f1 + f2;
        f1 = f2;
        f2 = temp;
    }
    return f2;
}

void pr4a() //tutaj wywolanie funckji i potem zliczanie obrotow petli
{
    int n=6, licznik = 0;
    printf("%d\n", fib_it(n));
    if (n < 3)
        licznik = 0;
    else
    {
        for (int i = 3; i <= n; i++)
        {
            licznik++;
        }
        printf("%d",licznik);
    }
}
void pr4b() //nie wiem jak zrobic zliczanie wywolan
{
    int n=6, licznik = 0;
    printf("%d\n", fibonacci_rec(n));
    if (n < 3)
        licznik=1;
    else
        //tutaj nie wiem jak to zrobić
}

dziękuję za każdą pomoc.

1 odpowiedź

0 głosów
odpowiedź 17 listopada 2020 przez Wiciorny Mędrzec (199,040 p.)

Aby zmienna była globalna ustaw ją jako pole klasy, a nie metody. Czyli nie wewnątrz metod.
http://www.algorytm.edu.pl/wstp-do-c/typy-zmiennych.html#zmienne%20lokalne%20i%20globalne

przykład dla counter - licznik 
 

include <iostream>

int counter = 0;

int f(){
    return counter++;
}

int main(){
    std::cout << f(); //output = 0
    std::cout << f()+f(); // output = 1; - postincrementation 
    return 0;
}

 

komentarz 17 listopada 2020 przez tkz Nałogowiec (41,840 p.)
komentarz 17 listopada 2020 przez Wiciorny Mędrzec (199,040 p.)
ja nie mówie że to działa, to jest przykład jak wygląda zmienna globalna- a nie zadanie kolegi

Podobne pytania

0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 28 września 2016 w C i C++ przez Arkadiusz Sieczak Początkujący (410 p.)
0 głosów
1 odpowiedź 70 wizyt
pytanie zadane 10 października 2021 w C i C++ przez yato_ Początkujący (350 p.)
0 głosów
3 odpowiedzi 880 wizyt
pytanie zadane 1 czerwca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)

86,541 zapytań

135,291 odpowiedzi

300,649 komentarzy

57,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...