-1
#include <iostream>
#include <stack>
#include <ctime>

std::stack<clock_t> tictoc_stack;   
void tic() {
   tictoc_stack.push(clock());
}
void toc() {
   std::cout << "Time elapsed: "
   << ((double)(clock() - tictoc_stack.top())) / CLOCKS_PER_SEC
   << std::endl;
   tictoc_stack.pop();
   dif=(clock() - tictoc_stack.top())    
}

int main()
{
   tic();
   for (k=0;k<10;k++)
   {
     doSomething();
     toc();
     double t[10];
     for(i=0;i<10;i++)
     {
       t[i]=dif;
       std::cout<< "array is" << dif << std::endl;
     }
    }
  return 0;
}

ここで、toc()func を呼び出すと、経過時間が返されます。しかし、その時間を反復ごとに配列に入れたいと思っています。つまり、10 の異なる経過時間があり、これらの値を取得して、平均、最小、最大、および標準偏差を計算したいと考えています。

これまでのところ、ループが回るたびに経過時間を配列に格納するのに苦労しています。

任意の提案とヘルプ。

4

1 に答える 1

0

あなたtic()は一度、つまりあなたはpush一度。しかし、あなたはtoc()複数回、つまりpop複数回です。

于 2013-03-25T03:36:49.170 に答える