2013-04-07 2 views
-3

Я написал программу C++ для своей домашней работы, которая вычисляет время, необходимое для запуска функции, и мне нужно несколько трудоемких функций для выполнения, по крайней мере пару секунд для запуска компьютера, и предпочтительно, если это матрица , Все функции, которые я пытаюсь запустить, запускаются в секунду или меньше, и это расстраивает.Какие функции выполняют много времени?

и он не может оставить гигантский беспорядок на экране с символами, как матрицей 1000 х 2000

Я сказал, что возведение в квадрат матрицы потребуется некоторое время для компьютера, чтобы сделать, но я не «Не знаю, правда ли это или как это делается.

Это моя текущая матрица, которая загружает меньше, чем второй :(

#include <iostream> 
#define HEIGHT 10 
#define WIDTH 20 
using namespace std; 

void func() 
{ 
    char world[HEIGHT][WIDTH]; 
    int i, j; 
    for (i = 0; i < HEIGHT; i++) { 
     for (j = 0; j < WIDTH; j++) { 
      world[i][j] = '.'; 
      cout << world[i][j]; 
     } 
     cout << endl; 
    } 
} 
+8

По моему опыту, функции, содержащие бесконечные петли, занимают много времени. – Mysticial

+0

Вы хотите измерить время работы функции или что? – taocp

+1

Просто введите ['Sleep'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx)? –

ответ

6

любой функции f, которая не имеет побочных эффектов, вы можете сделать f2 1 миллион раз менее эффективны

void f2() { for(long i = 1; i <= 1000000; ++i) { f(); } } 

Теперь, если это не является достаточно медленным, whooooosh !, здесь приходит f3,

void f3() { for(long i = 1; i <= 1000000; ++i) { f2(); } } 

И так далее.

Но если вы хотите действительно действительно неэффективны, то посмотрите на функцию Акермана.


При этом отметим, что вышеупомянутый подход в основном сводится к выполнению того, что вы хотите измерить, достаточно времени.

И это стандартный подход.

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