Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Время выполнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Немогу разобраться с директивами http://www.cyberforum.ru/cpp-beginners/thread177806.html
Люди есть проблема. (с++) Значит учусь я в универе. А там IDE у нас короче очень древняя борланд`овская (для win 3.1). Так как для изучения алгоритмов подойдёт любая среда разработки, то видимо там...
C++ Хеш таблица Нужно написать прогу которая подсчитает количество слов, с помощью хеш таблицы. Но хотоелось бы посмотреть на примеры программ их использующих, с остальным сам в принципе разберусь. Извиняюсь что не... http://www.cyberforum.ru/cpp-beginners/thread177798.html
написать программу в Visual Studio 2008 C++
Условие: вычислить и вывести полярные координаты 3-х точек, заданных прямоугольными координатами в правой полуплоскости. Формулы преобразования координат: r=sqrt (x^2 + y^2) w(угол фи)=arctg (x /...
C++ Найти точку пересечения двух отрезков
как найти точку пересечения двух отрезков, если даны координаты начала и конца обеих
C++ Найти произведение всех делителей введенного числа n http://www.cyberforum.ru/cpp-beginners/thread177771.html
Найти произведение всех делителей введенного числа n. C использованием while! помогите плиз)
C++ Ошибка в программе Вот код: /*--------------------------------------------------------------- БИБЛИОТЕКИ */ #include <iostream> #include <fstream> #include <vector> #include <math.h> ... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
18.10.2010, 05:57
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
#define N 100000
 
int main(void)
{
    clock_t start = clock();
    size_t i, j, a;
    for(i = 0; i < N; ++i)
        for(j = 0; j < N; ++j)
            a = pow(2, 20);
            
    clock_t finish = clock();
    printf("The program worked %.2f seconds...\n",
             (finish - start) / (double) CLOCKS_PER_SEC);   
    return EXIT_SUCCESS;
}
Как ты наверно догадываешься, эта программа замеряет время выполнения части программы между строками 10 и 16

Вот собственно и оно:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
#define a -100
#define b 100
#define size1 2
#define size2 1000
#define n 15
#define step (size2 - size1) / n
 
int main(void)
{
    srand((size_t) time(NULL));
    size_t i, j, k;
    int matrix[size2][size2];
    clock_t start, finish;
    double t;
    for(i = size1; i <= size2; i += step)
    {
        start = clock();
        
        for(j = 0; j < i; ++j)
            for(k = 0; k < i; ++k)
                matrix[j][k] = rand() % (b - a + 1) + a;
        
        finish = clock();
        t = (finish - start) / (double) CLOCKS_PER_SEC;
        printf("Size = %4u, time = %f\n", i, t);
    }
    
    i = size2;
    
    start = clock();
        
    for(j = 0; j < i; ++j)
        for(k = 0; k < i; ++k)
            matrix[j][k] = rand() % (b - a + 1) + a;
        
    finish = clock();
    t = (finish - start) / (double) CLOCKS_PER_SEC;
    printf("Size = %4u, time = %f\n", i, t);
    return EXIT_SUCCESS;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru