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

zliczanie wywołań funkcji

VPS Starter Arubacloud
0 głosów
307 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 (269,120 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 (269,120 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ź 452 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ź 286 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,436 wizyt
pytanie zadane 1 czerwca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)

92,452 zapytań

141,262 odpowiedzi

319,083 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...