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

zliczanie wywołań funkcji

Object Storage Arubacloud
0 głosów
318 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 (271,610 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,000 p.)
komentarz 17 listopada 2020 przez Wiciorny Ekspert (271,610 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ź 485 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ź 329 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,515 wizyt
pytanie zadane 1 czerwca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)

92,662 zapytań

141,557 odpowiedzi

320,002 komentarzy

62,029 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...