2013-03-25 3 views
-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(), она дает истекшее время. но я хочу, чтобы это время переходило в массив на каждой итерации. что означает, что у меня будет 10 различных истекших времен, и я хочу получить эти значения и вычислить среднее, минимальное, максимальное и стандартное отклонение.Сохранение данных прошедшего времени в массиве внутри цикла for

До сих пор я испытываю затруднения в том, чтобы прошедшее время было сохранено в массиве каждый раз, когда цикл перемещается.

Любые предложения и помощь.

+0

ПОЖАЛУЙСТА, НЕОБХОДИМО СДЕЛАТЬ ВАШ КОД. –

ответ

0

Вы tic() один раз, это означает, что вы push один раз. Но вы toc() несколько раз, что означает, что вы pop несколько раз.

Смежные вопросы