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

Шутки юмора

Войти
Регистрация
Восстановить пароль
 
 
darkAngel
Технофашист
217 / 200 / 4
Регистрация: 11.03.2009
Сообщений: 883
#1

Глупые ошибки и опечатки в коде - Шутки юмора

11.02.2010, 22:41. Просмотров 27484. Ответов 150
Метки нет (Все метки)

Может и была подобная тема, но всё таки.

Как известно, процесс отладки процесс более сложный, чем первоначальное написание кода. И иногда он просто выносит мозг.
Дак вот, предлагаю здесь писать о глупых ошибках, которые были допущены Вами и затягивали процесс отладки на долгие часы.


=====================================
Начну.
Сегодня часа 4 отлаживал прогу, чуть на стену не лез.
В общем, копирую рабочий код из консолки на Си в визуальную среду, всё правильно копирую - ctrl+c ctrl+v, все библиотеки подключаю. И не работает. КОпирую назда в консольку - сразу работает. Дошло до того, что в ручную заного всю прогу переписал. Проверял каждую строчку. Ну всё верно - и не работает. Магия прям.
Оказалось, проблема в указателях. В консолке почемуто не инициализированные указателя по умолчанию равны 0, а в виз. среде равны числу. Хотя компилятор один и тот же. Вот так, 5 часов потратил на эту глупость.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2010, 22:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глупые ошибки и опечатки в коде (Шутки юмора):

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Ошибки при компиляции - исправить ошибки в коде - C (СИ)
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include <conio.h> #include <stdio.h> #include <math.h> ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

ошибки в готовом коде(ошибки указаны) - Assembler
Ввести с клавиатуры строку (кол-во символов не больше 10). И определить ее длину c использованием подпрограмм. model small .stack 100h ...

Глупые вопросы - C++ Builder
Здравствуйте, ищу помощи в следующих вопросах. 1. На билдере создан некий проект, где используется форма, развернутая на полный...

150
Rockedit
Автор FAQ
Автор FAQ
1760 / 566 / 9
Регистрация: 22.12.2009
Сообщений: 1,544
08.08.2010, 00:20 #16
Не знал куда поместить, наверное сюда))
Вообще история такая. Как и многие вузы в маленьких городах мы просто супер институт, ну и соответственно такие же и преподы) разбираю очередную программу, написанную кафедральными умельцами, кстати данную нам как эталон исполнения, ну и среде кучи нелепых конструкций меня больше всего паразила одна:
Delphi
1
2
for i:=1 to 1000000 do
    c := a + b/d - 4; {delay}
особенно коментарий)))))
Пожалуй все.
0
Evg
Эксперт CАвтор FAQ
18467 / 6517 / 455
Регистрация: 30.03.2009
Сообщений: 18,200
Записей в блоге: 29
08.08.2010, 11:35 #17
Цитата Сообщение от Rockedit Посмотреть сообщение
особенно коментарий)))))
Я так понимаю, что они хотели выполнить задержку в несколько миллисекунд. Не знаю, есть ли в паскале аналог системной функции sleep. Правда такой код в режиме с оптимизациями будет удалён
0
Puporev
Модератор
52847 / 40658 / 13913
Регистрация: 18.05.2008
Сообщений: 94,385
08.08.2010, 11:41 #18
Evg, delay и есть аналог sleep, только это не системное, а процедура модуля crt.
0
Evg
Эксперт CАвтор FAQ
18467 / 6517 / 455
Регистрация: 30.03.2009
Сообщений: 18,200
Записей в блоге: 29
08.08.2010, 11:48 #19
Цитата Сообщение от Puporev Посмотреть сообщение
Evg, delay и есть аналог sleep, только это не системное, а процедура модуля crt.
При таком раскладе код получается действительно глупый
0
Rockedit
Автор FAQ
Автор FAQ
1760 / 566 / 9
Регистрация: 22.12.2009
Сообщений: 1,544
08.08.2010, 13:18 #20
Причем заметим, что если функции delay и sleep, смотря какой язык мы используем, как то примерно выдерживают задаваемое врямя задержки, то данная конструкция уж очень зависит от железа, на тех компах что у нас в институте задержка далеко не в микросекундах измеряется)))
0
Evg
Эксперт CАвтор FAQ
18467 / 6517 / 455
Регистрация: 30.03.2009
Сообщений: 18,200
Записей в блоге: 29
08.08.2010, 13:39 #21
Цитата Сообщение от Rockedit Посмотреть сообщение
Причем заметим, что если функции delay и sleep, смотря какой язык мы используем, как то примерно выдерживают задаваемое врямя задержки, то данная конструкция уж очень зависит от железа, на тех компах что у нас в институте задержка далеко не в микросекундах измеряется)))
А какая разница? Человек работает на конкретном железе и конкретном компиляторе. Его не особо заботит, что на другом компе задержка будет совсем другая. Люди скорее всего ещё советской школы, когда аппаратная часть компутеров годами оставалась неизменной. В программах тех времён сплошь и рядом можно найти подобные коды
0
turboq
155 / 155 / 4
Регистрация: 14.01.2010
Сообщений: 1,449
08.08.2010, 14:35 #22
Минут сорок пытался отловить сообщение на выключения винды(код перенес из другой проги), но не получалось та прога работает а эта нет. Только потом случайно увидел что не прописал сообщение в методе класса, перекопировал код не полностью, а он в самом верху получился а я искал ошибку ниже implementation.
0
Юрий АЛексеевич
64 / 41 / 3
Регистрация: 10.08.2010
Сообщений: 120
17.08.2010, 10:00 #23
Цитата Сообщение от Evg Посмотреть сообщение
А какая разница? Человек работает на конкретном железе и конкретном компиляторе. Его не особо заботит, что на другом компе задержка будет совсем другая. Люди скорее всего ещё советской школы, когда аппаратная часть компутеров годами оставалась неизменной. В программах тех времён сплошь и рядом можно найти подобные коды
Ну почуму, чуть что так сразу советской? В далекие времена многие, даже серьезные конторы страдали подобным кодом. Вспомните старые игрушки и кнопочку "турбо", которой регулировалась скорость. Ну или попробовать некоторые старенькие игрушки запустить на чём нибудь беме современном. На вскидку - Wings Commander.

З.Ы. Почему то всегда смешит, когда не переключив раскладку - набираешь if...
0
Rockedit
Автор FAQ
Автор FAQ
1760 / 566 / 9
Регистрация: 22.12.2009
Сообщений: 1,544
17.08.2010, 10:27 #24
Читал когда то на bash.org.ru:
ShuRik: хз зачем так рано утром ставить лабы
ShuRik: прога на си не компилица =(
ShuRik: смотрю код - на месте if написал else.
ShuRik: где логика?! надо больше спать...
ShuRik: потом успокоился, логику своих мыслей увидел - написано не else а esle)
Добавлено через 17 минут
Не очень конечно верится. Компилятор бы сразу написал, но с утра впринципи может быть все что угодно.
0
Xander Bass
Йошь-мыслитель
121 / 115 / 6
Регистрация: 22.02.2009
Сообщений: 675
Записей в блоге: 5
30.08.2010, 13:46 #25
К слову о невнимательности. Итак задачка: перебором найти в наборе данных нужную строку и вернуть в итоговый результате элемент набора данных. Используем код (в Дельфях):

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function FUNC(XD: TXMLDocument; L: ShortString): IXMLNode;
var
  c: integer;
  ln: IXMLNode;
  s: ShortString;
begin
  c:=0;
  while c <> XD.DocumentElement.ChildNodes.Count-1 do
  begin
    if VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id']) = L then
    begin
      ln:=XD.DocumentElement.ChildNodes[c];
      c:=XD.DocumentElement.ChildNodes.Count-1
    end else
    begin
      c:=c+1; {DEBUG(VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id'],L) } 
    end
  end;
  result:=ln
end;
По невнимательности своей я допустил в алгоритме ошибку и функция работала несколько некорректно. Перед Вами её изначальный вариант, до исправления. Если вкратце, то баг заключался в том, что функция не читала последний элемент XML-документа. Называется, нефиг было мудрить с алгоритмом. По сути там надо убрать из двух мест "-1". Но пока я докапывался до сути ошибки, я написал тестовую функцию, сравнивающую две строки и выводящую результат сравнения в окно сообщения. Назовём её DEBUG. И... Началось непонятное. Функция выдавала сообщение, значит результаты, как видно по алгоритму, не равны, но она выдавала РАВЕНСТВО! Мозг взрывается, ломаются представления о математике и рациональности вообще!

Впрочем, всё оказалось иллюстрацией поговорки "А слона-то я и не приметил". Если приглядеться к алгоритму, то можно заметить, что счётчик управляет порядковым номером элемента документа. А сравнение двух строк в отладочной функции происходило ПОСЛЕ увеличения счётчика на 1. Следовательно функция сравнения читала уже следующий элемент документа. А он-то как раз и был равен нужному значению. Вот функция и выдавала честно, что эти-то строки как раз равны. Переставил местами функцию и счётчик - всё встало на свои места.
0
Fedis
608 / 88 / 2
Регистрация: 08.07.2010
Сообщений: 1,893
17.09.2010, 20:58 #26
Полчаса бился над программой. Пока не увидел:
C++
1
scanf("%d", &a, &b);
0
taras atavin
3571 / 1755 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
11.10.2010, 11:54 #27
i.csproj, а в чём глюк?
0
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
12.10.2010, 10:56 #28
Динамический массив.
0
romchiksoad
1950 / 795 / 39
Регистрация: 03.11.2009
Сообщений: 3,067
Записей в блоге: 2
25.10.2010, 00:29 #29
Вот таким запросом вытаскиваю из БД данные:
SELECT `table`.* FROM `table` WHERE `table`.`id` = $id LIMIT 1
Далее нужно их вернуть, как результат работы функции:
while ( $resalt = mysql_fetch_assoc ( $query ) ) {

return array ( $resalt['...'], ... );
...
Пора спать, наверно...
0
nio
5933 / 3337 / 200
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
04.11.2010, 14:38 #30
Не совсем в коде ошибка, но... Как-то раз делал дома сетку и решил назвать по-простому "Моя сеть", только на английском и в одно слово. Получилось "mynet"
ЗЫ: сеть так и не заработала...
0
04.11.2010, 14:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 14:38
Привет! Вот еще темы с ответами:

Как передать в функцию несколько аргументов, и другие глупые вопросы - C++
Доброго времени суток. Накопилось несколько вопросов, от простых до очень простых, и все же нужную информацию по ним не нашел. Глупо для...

Перенаправление на другой запрос из-за опечатки - SEO
Всем доброго времени суток. У будущего сайта есть название. Но если ввести его в яндекс или гугл они находят опечатку и перенаправляют на...

Ошибки в коде - Java
Дело такое, есть код, как его надо исправить, чтобы он работал корректно при возникновении любых ошибок IO? class Task4 { public...

Ошибки в коде - PHP
не мой скрипт просто увидел что появилось мб кто знает что делать !? Warning: Missing argument 2 for Users::uname(), called in...


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

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

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