Avatar billede snuseren.dk Nybegynder
13. juni 2003 - 18:41 Der er 6 kommentarer og
1 løsning

Antal sekunder, programmet blev udført i

Hey.

Hvis jeg f.eks. havde en FOR løkke, som tæller fra 0 til 999999, hvordan får jeg så C++ til at skrive, hvor lang tid den tog om at tælle 0 til 999999, i sekunder?


MVH
Anders
Avatar billede arne_v Ekspert
13. juni 2003 - 18:45 #1
eksempel:

#include <iostream>

#include <time.h>

using namespace std;

const int N = 1000000000;

int main()
{
  time_t t1 = time(NULL);
  int sum = 0;
  for(int i = 0; i < N; i++) {
      sum = ((sum + 1) * 2 + 1) / 2;
  }
  time_t t2 = time(NULL);
  if(sum != N) {
      cout << "Error" << endl;
  } else {
      cout << N << " operations in " << (t2 - t1) << " seconds" << endl;
  }
}
Avatar billede snuseren.dk Nybegynder
13. juni 2003 - 19:01 #2
Hvad er der så galt her?

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

const int N = 1000000000;

int main(int argc, char *argv[])
{
 
  for(int i = 10; i <= 2000; i++)
{
  cout << i << endl;
}
cout << "\n\n\n\n";


  time_t t1 = time(NULL);
  int sum = 0;
  for(int i = 0; i < N; i++) {
      sum = ((sum + 1) * 2 + 1) / 2;
  }
  time_t t2 = time(NULL);
  if(sum != N) {
      cout << "Error" << endl;
  } else {
      cout << N << " operations in " << (t2 - t1) << " seconds" << endl;
  }

  system("PAUSE");   
  return 0;
}
Avatar billede arne_v Ekspert
13. juni 2003 - 19:05 #3
Ikke noget.

Men måler stadigvæk tiden for mit loop og ikke for dit loop.
Avatar billede snuseren.dk Nybegynder
13. juni 2003 - 19:10 #4
Okay, men hvis jeg bare kopierer hele dit eksempel, udskriver den kun en tom linje på skærmen :o(
Avatar billede arne_v Ekspert
13. juni 2003 - 19:13 #5
Øh.

Den skulle udskrive en af de 2 linier.

Men du erstatte min løkke med din løkke.

Det er kun det mellem t2 og t2 der måles.
Avatar billede arne_v Ekspert
13. juni 2003 - 19:14 #6
mellem t1 og t2
Avatar billede snuseren.dk Nybegynder
15. juni 2003 - 20:25 #7
Takker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester