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

Ошибка в книге Шилдта? - C++

Восстановить пароль Регистрация
 
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,361
Записей в блоге: 4
01.03.2013, 02:20     Ошибка в книге Шилдта? #1
Герберт Шилдт. C++ базовый курс. Третье издание. 2010 г. с. 269.
Шилдт явно использует для доступа к массиву q диапазон индексов 1-100, в то время как нужно 0-99. Может быть, он бездумно портировал данный пример с паскаля? Далее в книге этот класс обрастает деталями, но все с той же "ошибкой". В общем, не пойму почему, если это ошибка, она не обсуждается в интернете. Или это у меня заскок? Эксперты, разрешите этот вопрос.
Миниатюры
Ошибка в книге Шилдта?  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.03.2013, 02:23     Ошибка в книге Шилдта? #2
Цитата Сообщение от palva Посмотреть сообщение
Эксперты, разрешите этот вопрос.
А зачем тут быть экспертом? Собери и проверь.
А так, я согласен, что вроде ошибка.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
01.03.2013, 02:29     Ошибка в книге Шилдта? #3
Цитата Сообщение от palva Посмотреть сообщение
Герберт Шилдт. C++ базовый курс. Третье издание. 2010 г. с. 269.
Шилдт явно использует для доступа к массиву q диапазон индексов 1-100, в то время как нужно 0-99. Может быть, он бездумно портировал данный пример с паскаля? Далее в книге этот класс обрастает деталями, но все с той же "ошибкой". В общем, не пойму почему, если это ошибка, она не обсуждается в интернете. Или это у меня заскок? Эксперты, разрешите этот вопрос.
Тут ещё много зависит от редакции, мне приходилось наблюдать как автор рассказывал о переменной с модификатором const типа int = 5, а в примере ниже она была равна 50...
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,361
Записей в блоге: 4
01.03.2013, 02:33  [ТС]     Ошибка в книге Шилдта? #4
Ну значит, заскока у меня нет. Теперь спокойно усну. Завтра еще попробую поискать в интернете, может англоязычники где-нибудь эту ошибку обсуждают.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
01.03.2013, 02:38     Ошибка в книге Шилдта? #5
Цитата Сообщение от palva Посмотреть сообщение
Шилдт явно использует для доступа к массиву q диапазон индексов 1-100, в то время как нужно 0-99.
А где в скрине ЭТО ?
Я не вижу там обрашение к 100 элементу...

Добавлено через 3 минуты
Как я понимаю sloc ведет себя подобно итератору ... А число 100 подобно end() указывающий на элемент "после последнего"
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,361
Записей в блоге: 4
01.03.2013, 02:39  [ТС]     Ошибка в книге Шилдта? #6
Avazart, Метод qput. Когда sloc==99 управление проваливается ниже, sloc инкрементируется и используется в качестве индекса. Аналогично метод qget.

Добавлено через 59 секунд
Если строчки после условного оператора поменять местами, то будет правильно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2013, 02:42     Ошибка в книге Шилдта?
Еще ссылки по теме:

C++ Ошибка в книге или я что то не понимаю ?
Первые шаги по базовому курсу Шилдта - ошибка синтаксиса приведенного кода C++
C++ Компилятор не дает написать main без int. Ошибка в книге, или в С так можно?

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
01.03.2013, 02:42     Ошибка в книге Шилдта? #7
Цитата Сообщение от palva Посмотреть сообщение
Avazart, Метод qput. Когда sloc==99 управление проваливается ниже sloc инкрементируется и используется в качестве индекса. Аналогично метод qget.
А ну да, сразу не обратил внимание что инкремент идет до присвоения...
Yandex
Объявления
01.03.2013, 02:42     Ошибка в книге Шилдта?
Ответ Создать тему
Опции темы

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