Program przeliczający czas

0

Potrzebuję program w c++ który do tablicy o podanej przez użytkownika wielkości wpisuje się liczbę i mierzy czas wyszukiwania tej liczby z tablicy

#include <cstdlib>
#include <iostream>
#include <ctime>
#include <time.h>
#include <sys/time.h>
using namespace std;

int main()
{
int* x;
x=new int;
*x=5646;
cout<<*x<<endl;



int n;
cout<<"poodaj liczbe wywolan n: ";cin>>n;
int* t;
t=new int[n];
srand(time(NULL));
for (int i=0;i<n;i++)
{t[i]=rand();}



clock_t start, stop;
double time;
start=clock();
for(int i=0; i<n; i++){
if(t[i]==*x){
stop=clock();
break;
}
}

stop=clock();
cout<<endl;
time = (double)(stop - start)/CLOCKS_PER_SEC;
cout<<"Czas wykonywania funkcji dla n wywołan: "<<time<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

takie coś zrobiłem ale nie działa tak jak powinno mógłby ktoś to przerobić albo pomóc...

0

A co dokladnie nie działa? Na moje oko to zawsze dostaniesz tutaj 0 chyba ze stworzysz sobie baaaaaaardzo dużą tablicę.

0

no wlasnie duze beda te tablice nawet do 1 mln potrzebne

0

To wcale nie jest duża tablica. Wątpie żebyś mógł zaobserwować jakieś zmiany czasu przy liniowym wyszukiwaniu elementów.

0

Otrzymujesz zero bo przeszukanie pewnie zajmuje mniej niż 1s. Pokazuj wynik w ms.

0

to wpisz jakas duza liczbe i zobaczysz ze program liczy jakis czas tzn kilka sec a i tak wypisuje 0ms

0

Nie wpiszę bo nie biegam wszędzie z kompilatorem. A jakie wartości mają start i stop?

1 użytkowników online, w tym zalogowanych: 0, gości: 1