Witajcie, piszę program z pracy domowej od Pana Zelenta. W programie obliczane są silnie: iteracyjnie, rekurencyjnie. Napisałem dwie osobne funkcje, jednak problem jest ze zmierzeniem czasu obliczania. Prosiłbym o pomoc. (Używam Deva)
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int start, stop;
double czas;
long int silrek(int n)
{
start=clock();
if(n==0) return 1;
else return silrek(n-1)*n;
stop=clock();
czas=(double)(stop-start)/CLOCKS_PER_SEC;
}
long int silit(int n)
{
start=clock();
long int a = 1;
while(n)
a=a*n--;
return a;
stop=clock();
czas=(double)(stop-start)/CLOCKS_PER_SEC;
}
int main()
{
int a;
cout<<"Z ilu chcesz obliczyc silnie: "; cin>>a;
cout<<"Silnia rekurencyjnie:"<<silrek(a)<<endl;
cout<<"Czas silni rekurencyjnie: "<<czas<<endl;
cout<<"Silnia iteracyjnie:"<<silit(a)<<endl;
cout<<"Czas silni iteracyjnie: "<<czas;
return 0;
}