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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BadBaddak
89 / 16 / 3
Регистрация: 09.06.2010
Сообщений: 100
#1

Как измерить, сколько времени считала программа? - C++

25.07.2011, 21:59. Просмотров 1064. Ответов 10
Метки нет (Все метки)

Запускается прога, запрашивает число (например 1000), включается таймер (или читается время из winXP), идёт расчёт (например сумма от 1 до запрошенного числа), потом выключается таймер (или читается второе время с оси), и на экран выводится время, которое было затрачено непосредственно на расчёт, повтор проги с начала...
Как обычно измеряют время?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2011, 21:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как измерить, сколько времени считала программа? (C++):

Как написать чтобы программа считала и то и то ?! - C++
Программа находит минимальный элемент массива и считает сумму элементов массива до минимального элемента,а как сделать чтобы если в массиве...

Как измерить разницу в секундах между двумя значениями времени? - C++
привет. Мне нужно замерить время работы программы, используются объекты класса std::chrono::time_point<std::chrono::system_clock> Как...

как сделать чтобы программа считала нормально - C++
Поидее должны выполняться операции с двоичными числами, а компилятор воспринимает числа как десятичные, уже неделю немогу ничто придумать,...

Движение объекта по XY. Как сделать чтобы программа считала FaceUnit как градусы - C++
Не пойму как сделать чтобы программа считала FaceUnit как градусы. При выводе на экран выдаёт подозрительные результаты. float...

Как сделать так чтобы в матрице присутствовали еще и нулевые элементы и программа считала их количество? - C++
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { setlocale(LC_ALL,...

Как узнать, сколько времени осталось до конца таймера QTimer Qt - C++
Или лучше делать на чистом Си++ таймер? Добавлено через 15 часов 2 минуты И выводить постоянно Добавлено через 6 часов 10 минут...

10
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
25.07.2011, 22:02 #2
запомнить время старта, запомнить время останова, из второго вычесть первое. ты же сам все написал, не?
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.07.2011, 22:09 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <time.h>
 
int main ()
{
  printf ("Enter unsigned integer number: ");
  unsigned number, sum = 0, i = 0;
  scanf("%u", &number);
  fflush(stdin);
  time_t start, end;
  time (&start);
  for(; i <= number; ++i)
      sum += i;
  time (&end);
  double dif = difftime(end, start);
  printf ("Sum = %u\nTime = %lf", sum, dif);
  getchar();
  return 0;
}
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 724
25.07.2011, 22:13 #4
Библиотекой ctime.Отнять от останова стартовое время и поделить на CLOCKS_PER_SEC
0
BadBaddak
89 / 16 / 3
Регистрация: 09.06.2010
Сообщений: 100
25.07.2011, 22:50  [ТС] #5
Ну вот. Впервые узнал про time.h
Тут нашел некоторые функции и о форматировании даты. Это оно?
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 724
25.07.2011, 22:54 #6
Цитата Сообщение от BadBaddak Посмотреть сообщение
Это оно?
Оно. Только time.h это для С, а не для С++
0
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 538
25.07.2011, 23:24 #7
C++
1
2
3
4
5
6
7
#include "time.h"
main(){
time_t start, end;
start = clock();
//Действия
end = clock();
cout << "Time = " << end-start;
0
kravam
быдлокодер
1705 / 892 / 45
Регистрация: 04.06.2008
Сообщений: 5,524
25.07.2011, 23:24 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вдруг пригодится
http://wm-help.net/books-online/book/59464/59464-26.html#h1t5
3
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
26.07.2011, 09:30 #9
C++
1
2
3
boost::posix_time::ptime start = boost::posix_time::second_clock::local_time();
boost::posix_time::ptime end = boost::posix_time::second_clock::local_time();
std::cout << (end - start).total_seconds();
2
BadBaddak
89 / 16 / 3
Регистрация: 09.06.2010
Сообщений: 100
28.08.2011, 01:04  [ТС] #10
Вот что получилось. Вывод на экран сделал, чтоб время потянуть. Десять тысяч складывает за 5.42 секунды. Плохая идея считать суммы, слишком быстро (без вывода на экран вообще мгновенно). Какой бы алгоритм придумать, чтоб проц загрузить на 100% и считало бы минуту примерно?
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int num=10000, i;
    unsigned long int sum=0;
    time_t start, end;
    start = clock();
 
    for (i=1;i<=num ;i++ )
    {
        sum=sum+i;
        printf("I= %2d  Sum=%lu \n",i, sum);
    }
 
    end = clock();
    double dif = difftime(end, start);
 
    printf("Sum=%lu\n",sum);
    printf("Time=%.2lf sec\n", dif/1000);
    return 0;
}
0
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 538
28.08.2011, 01:21 #11
Предложу
C++
1
2
3
4
5
long long int maxSize = 1;
for(int a=0;a<8*sizeof(long long int)-1;a++)
    maxSize *= 2;
maxSize -= 1;
long long int n = maxSize, i;
0
28.08.2011, 01:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2011, 01:21
Привет! Вот еще темы с ответами:

Как в одномерном массиве проводится сравнение и сколько времени потребовалось на выполнение программы - C++
Подскажите, как доделать программу: Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше...

Как сделать, чтобы функция считала с точностью до - C++
Здравствуйте. Нужно написать программу. выполнил все пункты кроме одного. А именно, не знаю как сделать, чтобы функция считала с точностью...

Программа не проходит тесты по времени, посоветуйте как исправить - C++
Добрый день, не могли бы вы подсказать по задаче. Имеется круг с целыми числами от 1 до n. Числа можно или занимать или освобождать если...

Как измерить время - C++
Здравствуйте! В программе на С(Borland С) необходимо знать, за какое время выполняется программа. Т.е. открывает программу, нажимаем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru