Russian Qt Forum
Июнь 16, 2024, 05:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Неправильно работает программа, собранная на другом компе  (Прочитано 9781 раз)
FluffyMan2000
Гость
« Ответ #15 : Декабрь 20, 2012, 18:57 »

Цитировать
хм. там в архиве есть сохраненные .html страницы с графами. проверял на них, все сходится.
Да, попутал. С шириной так и должно быть.

Проблема с глубиной.

Цитировать
(в данный момент правильность алгоритма не обсуждается. интересует именно то, что работать должна одинаково на всех компах)
Крайне неверный подход, сначала надо добиться ожидаемого результата, а потом пинять на qt\компилятор

дело в том, что при одних и тех же входных тестовых данных на разных компах был разный результат. и в данном случае неважно правильно работает алгоритм, или нет. если тебе так угодно, то в ширину работает правильно, но результат на разных компах был разным. не надо меня учить какому подходу следовать. я задавал вопрос не по алгоритмам.
Записан
Dancing_on_water
Гость
« Ответ #16 : Декабрь 20, 2012, 20:14 »

Цитировать
дело в том, что при одних и тех же входных тестовых данных на разных компах был разный результат. и в данном случае неважно правильно работает алгоритм, или нет. если тебе так угодно, то в ширину работает правильно, но результат на разных компах был разным. не надо меня учить какому подходу следовать. я задавал вопрос не по алгоритмам.
Отвечаю. Если где-то есть лажа с указателями, то проблема может проявляться на одной системе, но не проявляться на другой. Более того, на одной и тойже системе, но при разных условиях проблема может как проявляться, так и не проявляться. Подобные баги проще всего ловить, когда удалось добиться ожидаемого поведения.
Записан
FluffyMan2000
Гость
« Ответ #17 : Декабрь 20, 2012, 22:22 »

Цитировать
дело в том, что при одних и тех же входных тестовых данных на разных компах был разный результат. и в данном случае неважно правильно работает алгоритм, или нет. если тебе так угодно, то в ширину работает правильно, но результат на разных компах был разным. не надо меня учить какому подходу следовать. я задавал вопрос не по алгоритмам.
Отвечаю. Если где-то есть лажа с указателями, то проблема может проявляться на одной системе, но не проявляться на другой. Более того, на одной и тойже системе, но при разных условиях проблема может как проявляться, так и не проявляться. Подобные баги проще всего ловить, когда удалось добиться ожидаемого поведения.


очень содержательный ответ. я как раз и спрашиваю о таких "разных условиях, при которой проблема может проявиться, а может и нет"
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4732



Просмотр профиля WWW
« Ответ #18 : Декабрь 20, 2012, 22:38 »

написано же — проблема с указателями в коде скорее всего
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
FluffyMan2000
Гость
« Ответ #19 : Декабрь 20, 2012, 22:43 »

Windows 7, Qt 4.8.4, msvc2012 x86 (компилировал сам): ширина совпала, глубина 0 2 1 4 3.

динамическому массиву память надо выделять руками, а не писать int array[n], т.к. не все компиляторы это съедают.

ну и стандартное замечание по поводу кодировки файлов cp1251 вместо utf-8 и неудаления файлов *.user перед выкладыванием в паблик.

вместо int array[n] сделал QVector<int> array; array.resize(n); - проблема кажется решена. вот уж не знал, что такой банальный участо кода может вызвать неопределенное поведение такое на разных компьютерах с ОДИНАКОВЫМ компилятором. спасибо
« Последнее редактирование: Декабрь 20, 2012, 22:50 от FluffyMan2000 » Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 22.