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

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

Войти
Регистрация
Восстановить пароль
 
 
Fred2011
-1 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 22
#1

Глюк печатания и глюк порчи константы - C++

24.11.2014, 22:35. Просмотров 617. Ответов 23
Метки нет (Все метки)

Дамы и господа!

Я столкнулся с двумя глюками, которые не нашёл в списке распространённых ошибок.
1) При попытке распечатать массив (например, for(int k=0; k<20; k++)cout << tp[k] << endl; ), печатается нечто не имеющее отношения к делу. При этом, если печатать по одному элементу (cout << tp[0] << endl; ), получается правильный результат.
2) При использовании константы в арифметическом операторе (например, int na=NLIN; ) вместо правильного значения константы обнаруживается нечто невменяемое. При этом до и после этого оператора, даже в той же функции, та же константа работает как надо.
Мне сказали, что в обоих случаях виноват некий вирус. Так ли это? Что можно сделать?
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2014, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глюк печатания и глюк порчи константы (C++):

Глюк GetWindowModuleFileName - C++
Пишу продвинутый диспетчер файлов без tlhelp32.lib поэтому решил находить ModulePath с помощью GetWindowModuleFileName но столкнулся с...

Глюк или ? - C++
я так понимаю, можно &quot;остановить &quot; консоль(не дать закрыться) разными способами кто как делает пишу я себе программу, ставлю как всегда...

Глюк gcc? - C++
Компилируя программу в gcc, выводит от части неверный ответ. В code::blocks все в порядке. Как это понимать? Программа выполняет сдвиг...

Глюк с teelg - C++
int x1 = ifile.tellg(); ifile &gt;&gt;s; x1 = ifile.tellg(); сначала х1 = 1, потом идёт считывание символа f и далее х1 становится равным...

глюк в программе - C++
Дан целочисленный квадратный массив размера m* n, где m и n- натуральные числа. Найти наименьшее из значений элементов столбца, который...

глюк с определениями - C++
вот файл unit.h #ifndef __unit_h__ #define __unit_h__ const int MAXHELF=100; struct FPOINT { float x; float y; };

23
Kastaneda
Нарушитель
Эксперт С++
4671 / 2875 / 233
Регистрация: 12.12.2009
Сообщений: 7,307
Записей в блоге: 2
Завершенные тесты: 1
24.11.2014, 22:55 #2
Цитата Сообщение от Fred2011 Посмотреть сообщение
в обоих случаях виноват некий вирус
Ага, эбола

Без примера кода можно только гадать. В общем случае проблема оказывается в коде, а не в непонятных глюках.
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
25.11.2014, 09:30 #3
Kastaneda, ужас, эбола теперь по сети распространяется и передается через мониторы, вызывая чернодырие головного мозга

ТС, предоставьте минимальный компилируемый код, демонтрирующий эти "глюки"
0
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
25.11.2014, 10:52 #4
Fred2011, код в студию.
1
Fred2011
-1 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 22
25.11.2014, 10:53  [ТС] #5
Из ответов я вижу, что такие ошибки не распространены. Приводить всю программу - слишком длинно, да и кража чужого времени, а примеры самих операторов, дающих сбой, я привёл.
Тогда дополнительный вопрос: могут какие-то ошибки быть вызваны способом работы с программой, её редактирования? Я её редактирую в Word, а для компилирования копирую в блокнот с расширением срр.
@mss307, я могу прислать приватом программу с указанием на операторы, дающие сбой, но стоит ли? Программа немаленькая, займёт Ваше время. Мне интересно знать, были ли такие прецеденты, а если нет, это может означать, что я неправильно редактирую.
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
25.11.2014, 11:01 #6
Fred2011, тогда как мы можем сказать в чем проблема? Она можеть быть в компиляторе, в коде, в руках, в таинственном вирусе(о_О).
0
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
25.11.2014, 11:02 #7
Fred2011, таких ошибок постоянно море. как правило, проблемы с нециализированными переменными, непониманием как работать с базовыми типами и прочее. нужен кусок кода, в котором видно, как объявляется переменная, как инициализируется, нужно видеть типы данных. нужно определение функции, в которой наблюдается некорректное поведение. а там дальше клубок постепенно распутается.
0
mporro
256 / 101 / 14
Регистрация: 04.07.2014
Сообщений: 571
25.11.2014, 11:09 #8
Fred2011, ошибка может быть в любой части программы. Изолировать ошибочный код можно только формальной верификацией. Например, шаг за шагом аналитически доказать, что к определённой точке в коде программа имеет состояние, требуемое спецификацией.
Мы кода не видим, мы не знаем спецификации и доказать ничего про него не можем -- изолировать вашу ошибку не способны.

Она из распространённых ошибок -- создание некорректных, но синтаксически правильных выражений. Чаще всего такие конструкции вызывают неопределённое поведение. Если нечто подобное встретилось в вашем коде, то после этой точки ничего конкретного сказать о работе программы невозможно. Даже эквивалентное преобразование кода может изменить результат работы программы.

Не используйте текстовые процессоры для написания кода.
0
Fred2011
-1 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 22
25.11.2014, 11:09  [ТС] #9
А много ли проку будет, если я здесь выложу файл на 470 кВ? Я прошёлся по чужим вопросам, там программы короткие, и то обсуждение застревает.
Господа, я вам признателен за готовность помочь мне в отладке программы, но это кража вашего времени. Мне бы конкретные примеры, когда именно такие ошибки имели место в таких-то случаях. Возможно, кто-то уже разбирался с ними, как с теми ошибками, которые вынесены здесь в отдельную тему. При всех моих недостатках (я химик, использующий С++ для построения матмоделей), сравнить такой-то возможный источник ошибки с тем, что написано у меня, я в состоянии.
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
25.11.2014, 11:12 #10
Сколько угодно причин может быть. Выложите свой код или предоставьте минимальный код, показывающий проблему.
0
Fred2011
-1 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 22
25.11.2014, 11:14  [ТС] #11
mporro, Какую программу Вы рекомендуете для написания файла.срр? Я хочу иметь возможность быстро находить нужный фрагмент и быстро возвращаться к предыдущему варианты текста, блокнот этого не позволяет. А Notepad? Если я просто перенесу туда то, что уже написано, что будет с предполагаемыми ошибками?
0
0x10
2474 / 1647 / 247
Регистрация: 24.11.2012
Сообщений: 4,068
25.11.2014, 11:17 #12
Цитата Сообщение от Fred2011 Посмотреть сообщение
Из ответов я вижу, что такие ошибки не распространены.
Цитата Сообщение от Fred2011 Посмотреть сообщение
сравнить такой-то возможный источник ошибки с тем, что написано у меня, я в состоянии
Ошибка, скорее всего, в логике программы, и никто не сможет сказать в чем дело без примера кода. Пусть не всего, а минимально компилируемого фрагмента, на котором стабильно воспроизводится проблема. А варианты выстрела в ногу ограничиваются только фантазией.
Цитата Сообщение от Fred2011 Посмотреть сообщение
Я её редактирую в Word, а для компилирования копирую в блокнот с расширением срр.
Без комментариев.
0
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
25.11.2014, 11:18 #13
Fred2011, вижуал студио, билдер, qt creator, eclipse. существует множество интегрированных сред разработки, которые сильно упрощают процесс программирования и отладки.
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
25.11.2014, 11:20 #14
Fred2011, возьмите какую-нибудь IDE.
Бесплатные среды (IDE) для программирования на С/С++

Ну или более адекватный текстовый редактор, например notepad++
0
Fred2011
-1 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 22
25.11.2014, 11:26  [ТС] #15
Господа, тогда у меня чисто технический вопрос. Как мне выложить файл на 470 кВ, чтобы не вызвать гнева модератора?
0
25.11.2014, 11:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 11:26
Привет! Вот еще темы с ответами:

Странный глюк с вектором - C++
Я определил операции: Присвоения: bool s; std::vector&lt;int&gt; v; void operator=(int get_i){ s = get_i &lt; 0; // знак ...

Странный глюк с биндом - C++
static void deXML(XMLBlock* RootBlock,Node* RN=NULL){ std::list&lt;boost::thread&gt; T; Node* SN=new...

Странный глюк цикла while - C++
Возник весьма странный глюк, связанный с циклом while. Имеется кусок программы: bool = true; while (bo=true){ ...

Не понятный глюк с cout - C++
Дня доброго Есть небольшая програмулина #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;iomanip&gt; using namespace std; class...


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

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

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