![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 03.04.2011
Сообщений: 10
|
![]()
Здравствуйте, подскажите пожалуйста в одном вопросе.Нужно проводить не сложную операцию, а потом в виде таблицы выводить результаты на экран.Сложность заключается в том, что нужно измерять время работы программы.Я вроде сделал, но при запуске все измерения времени равны нулю, подскажите пожалуйста, как исправить
Цитата:
Последний раз редактировалось IvaneOK; 31.05.2011 в 17:44. |
|
![]() |
![]() |
![]() |
#2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]()
Попробуй использовать функцию gettimeofday() из <sys/time.h>.
Она позволяет высчитывать время в микросекундах. ЗЫ У меня под Линуксом, например, связка clock() -- CLOCKS_PER_SEC вообще некорректно работает...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]()
time(NULL) - возвращает время в секундах с 1970 года.
clock() - возвращает время работы программы в clocks'ах с момента ее запуска. Чтобы получить секунды, надо разделить на CLOCKS_PER_SEC. Соответственно: Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 10
|
![]()
Syuf, не помогло, все равно 0 пишет
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]()
Покажите код
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 10
|
![]()
#include<stdio.h>
#include<time.h> int main() { int i,a[1000],z,oper; oper=0; double work_time = clock(); printf("\nВведите z"); scanf("%d",&z); printf("\nЧисло элеметов массива Число операций Время работы\n"); for(i=1;i!=1001;i++) //начало главного цикла { a[i]=(rand() % 100) + 1; //рандом значения oper+=1; if (a[i]>z) //проверка условия задачи { a[i]=z; oper+=1; } //конец самой задачи if (fmod(i,50)==0) //вывод на экран через 50 значений { work_time = clock() - work_time; printf(" %d",i); printf(" %d",oper); printf("Working time - %f milliseconds\n", work_time / CLOCKS_PER_SEC / 1000); } } //главный цикл } //конец |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]() Код:
Только он, возможно, быдет также 0 выводить, потому что делать эти 50 значений будет мгновенно.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 03.04.2011
Сообщений: 10
|
![]()
Syuf, спасибо)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
таймер | ZET78 | Общие вопросы C/C++ | 2 | 24.05.2010 12:56 |
таймер в C# | Munky | Помощь студентам | 2 | 15.04.2010 20:30 |
Таймер | graff | Общие вопросы C/C++ | 11 | 04.07.2009 01:36 |
Таймер | Михаил Юрьевич | Общие вопросы Delphi | 1 | 16.07.2008 08:46 |
Таймер в С# | kommunist | Общие вопросы .NET | 3 | 02.06.2008 12:11 |