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

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

Войти
Регистрация
Восстановить пароль
 
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
#1

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

23.05.2011, 15:19. Просмотров 633. Ответов 9
Метки нет (Все метки)

Добрый день!
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++ Обнуление массива структур
C++ Обнуление переменной
Обнуление переменной C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 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
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.05.2011, 15:39     Самопроизвольное обнуление константы #4
Цитата Сообщение от alexsvk Посмотреть сообщение
На данный момент в массиве 250 элементов.
Еще раз прочитайте первый мой пост, а именно
Цитата Сообщение от asics Посмотреть сообщение
попробуй зделать размер масива очень большим.
, к примеру один миллион.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17185 / 5439 / 337
Регистрация: 30.03.2009
Сообщений: 14,748
Записей в блоге: 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
Эксперт CАвтор FAQ
 Аватар для Evg
17185 / 5439 / 337
Регистрация: 30.03.2009
Сообщений: 14,748
Записей в блоге: 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
Эксперт CАвтор FAQ
 Аватар для Evg
17185 / 5439 / 337
Регистрация: 30.03.2009
Сообщений: 14,748
Записей в блоге: 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++ Обнуление столбцов матрицы
обнуление переменной C++
C++ Обнуление битов

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

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

Не по теме:

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


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

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