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

Praca domowa rekurencja - Problem z liczeniem czasu

0 głosów
504 wizyt
pytanie zadane 28 czerwca 2016 w C i C++ przez niezalogowany

Mam problem z liczeniem czasu, program na samym początku dla rekurencji oblicza w normalny sposób czas natomiast dla iteracji pokazuje zazwyczaj samo 0 lub 0.001(dużo zer)208. Nie mogę dojść w czym problem :(

 

#include <iostream>
#include <ctime>

using namespace std;

long int potegowanie (int potega, int wykladnik);
long int potegowanie_i(int p, int w);

int main ()
{
   long int rezultat;
   int a,b;
   double czas,start,stop;
   start = clock();
   cout.precision(20);
   cout << "Podaj podstawe i wykladnik rozdzielone spacja: ";
   cin >> a >> b;
   rezultat = potegowanie(a,b);
   cout << rezultat << endl;
   stop = clock();
   czas = (stop-start)/CLOCKS_PER_SEC;
   cout << "Czas rekurencyjnie: "<<czas << " s"<< endl;

    cin.sync();
    cin.clear();

   start = clock();
   rezultat = potegowanie_i(a,b);
   cout << rezultat <<endl;
   stop = clock();
   czas = (stop-start)/CLOCKS_PER_SEC;
   cout << "Czas iteracyjnie: "<<czas << " s"<< endl;

    return 0;
}

long int potegowanie (int potega, int wykladnik)
{
    return (wykladnik==0) ? 1 : potega*(potegowanie(potega,wykladnik-1));
}

long int potegowanie_i(int p, int w)
{
    long int wynik;
    wynik =1;
    while (w>0)
    {
        wynik *= p;
        w--;
    }
    return wynik;
}

 

1 odpowiedź

+1 głos
odpowiedź 28 czerwca 2016 przez niezalogowany
wybrane 29 czerwca 2016
 
Najlepsza
W drugim przypadku liczysz czas tylko wykonania funkcji(i wypisania tekstu) a w pierwszym wprowadzania danych, wykonania funkcji i wypisywania tekstu. Mierz czas tylko wykonania funkcji.
komentarz 29 czerwca 2016 przez niezalogowany
Faktycznie, głupi błąd, dzięki ;)

Podobne pytania

0 głosów
1 odpowiedź 633 wizyt
pytanie zadane 28 grudnia 2016 w C i C++ przez vega Użytkownik (510 p.)
0 głosów
2 odpowiedzi 1,070 wizyt
0 głosów
1 odpowiedź 611 wizyt
pytanie zadane 10 października 2021 w C i C++ przez yato_ Początkujący (350 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2459p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

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
...