Program przeliczający czas

2011-10-24 00:38
Pvl
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...

edytowany 1x, ostatnio: madmike, 2011-10-24 00:57

Pozostało 580 znaków

2011-10-24 01:06
0

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


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2011-10-24 02:07
Pvl
0

no wlasnie duze beda te tablice nawet do 1 mln potrzebne

Pozostało 580 znaków

2011-10-24 02:28
0

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


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2011-10-24 07:38
0

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

Pozostało 580 znaków

2011-10-24 12:10
Pvl
0

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

Pozostało 580 znaków

2011-10-24 14:10
0

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

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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