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

Самопроизвольное обнуление константы - C++

Восстановить пароль Регистрация
 
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.05.2011, 15:19     Самопроизвольное обнуление константы #1
Добрый день!
C++
1
2
3
4
5
6
7
...
const std::clock_t start = std::clock();  
int res = insertionSort(p,N);
const double end = static_cast<double>(std::clock() - start) / CLOCKS_PER_SEC;
...
std::cout<<"\n"<<end<<"\n";
...
При дебаге константа нормально выводится, но при работе программы постоянно висит 0.
Как быть и в чём причина?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2011, 15:19     Самопроизвольное обнуление константы
Посмотрите здесь:

Рекурсия. Не происходит обнуление C++
C++ Обнуление буфера.
C++ Обнуление битов
Выход из программы и самопроизвольное выполнение пункта C++
C++ Обнуление массива структур
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.05.2011, 15:23     Самопроизвольное обнуление константы #2
Можно припустить, что сортировка проходит мгновенно, попробуй зделать размер масива очень большим.
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.05.2011, 15:36  [ТС]     Самопроизвольное обнуление константы #3
Цитата Сообщение от asics Посмотреть сообщение
Можно припустить, что сортировка проходит мгновенно, попробуй зделать размер масива очень большим.
Прошу прощения за недостаток информации, но..
Очевидно, что создавая тему, этот случай был рассмотрен.
На данный момент в массиве 250 элементов.
IDE: VS 10.0
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.05.2011, 15:39     Самопроизвольное обнуление константы #4
Цитата Сообщение от alexsvk Посмотреть сообщение
На данный момент в массиве 250 элементов.
Еще раз прочитайте первый мой пост, а именно
Цитата Сообщение от asics Посмотреть сообщение
попробуй зделать размер масива очень большим.
, к примеру один миллион.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
23.05.2011, 15:39     Самопроизвольное обнуление константы #5
После сортировки вставь sleep. Если результат изменится, значит проблема в коротком массиве. Потому как 250 элементов на современных процессорах - это очень мало
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.05.2011, 15:53  [ТС]     Самопроизвольное обнуление константы #6
Цитата Сообщение от asics Посмотреть сообщение
Еще раз прочитайте первый мой пост, а именно
, к примеру один миллион.
При 500 было 0.001, теперь постоянно 0. При дебаге всё корректно и стабильно.

Добавлено через 12 минут
Цитата Сообщение от Evg Посмотреть сообщение
После сортировки вставь sleep. Если результат изменится, значит проблема в коротком массиве. Потому как 250 элементов на современных процессорах - это очень мало
Есть более корректные функции для измерения времени?
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
23.05.2011, 15:55     Самопроизвольное обнуление константы #7
Цитата Сообщение от alexsvk Посмотреть сообщение
в дебаге всё отлично работает
Вместо того, чтобы спорить, взял бы да и поробовал. Человек на тебя тратит своё время, а ты упираешься руками иногами

Цитата Сообщение от alexsvk Посмотреть сообщение
Есть более корректные функции для измерения времени?
А в чём, по твоему, некорректностьработы std::clock?
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.05.2011, 15:58  [ТС]     Самопроизвольное обнуление константы #8
Цитата Сообщение от Evg Посмотреть сообщение
Вместо того, чтобы спорить, взял бы да и поробовал. Человек на тебя тратит своё время, а ты упираешься руками иногами



А в чём, по твоему, некорректностьработы std::clock?
Описал её выше. Временами выдаёт разные значения. При 500 элементах, то 0.001, то 0. (как пример)
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
23.05.2011, 16:11     Самопроизвольное обнуление константы #9
Цитата Сообщение от alexsvk Посмотреть сообщение
Описал её выше. Временами выдаёт разные значения. При 500 элементах, то 0.001, то 0. (как пример)
Вот тебе уже два человека сказали про то, что массив слишком маленький и на быстром процессоре он сортируется очень быстро. Время сортировки может быть порядка микросекунд (а то и долей микросекунд). С такой большой точностью измерять время практически нельзя, потому что накладные расходы на вызов функции будут соизмеримы с самим временем. При такой погрешности измерения это эквивалентно нулю.

Ты не сможешь миллиметровой линейкой измерять толщину плёнки, когда она равна одному микрону. Для этого тебе надо сложить стопкой 1000 плёнок и измерить их общую толщину. Вот и здесь то же самое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2011, 16:25     Самопроизвольное обнуление константы
Еще ссылки по теме:

C++ Обнуление переменной
C++ Самопроизвольное добавление чисел
Обнуление переменной C++

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

Или воспользуйтесь поиском по форуму:
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
23.05.2011, 16:25  [ТС]     Самопроизвольное обнуление константы #10

Не по теме:

Погорячился немного.


Спасибо.
Yandex
Объявления
23.05.2011, 16:25     Самопроизвольное обнуление константы
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru