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

zliczanie wywołań funkcji

Cloud VPS
0 głosów
518 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 Ekspert (281,530 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 (42,060 p.)
komentarz 17 listopada 2020 przez Wiciorny Ekspert (281,530 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ź 669 wizyt
pytanie zadane 28 września 2016 w C i C++ przez Arkadiusz Sieczak Początkujący (400 p.)
0 głosów
1 odpowiedź 548 wizyt
pytanie zadane 10 października 2021 w C i C++ przez yato_ Początkujący (350 p.)
0 głosów
3 odpowiedzi 1,924 wizyt
pytanie zadane 1 czerwca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)

93,468 zapytań

142,404 odpowiedzi

322,706 komentarzy

62,850 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...