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

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

Войти
Регистрация
Восстановить пароль
 
palva
 Аватар для palva
2439 / 1661 / 208
Регистрация: 08.06.2007
Сообщений: 6,579
Записей в блоге: 4
#1

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

01.03.2013, 02:20. Просмотров 769. Ответов 6
Метки нет (Все метки)

Герберт Шилдт. C++ базовый курс. Третье издание. 2010 г. с. 269.
Шилдт явно использует для доступа к массиву q диапазон индексов 1-100, в то время как нужно 0-99. Может быть, он бездумно портировал данный пример с паскаля? Далее в книге этот класс обрастает деталями, но все с той же "ошибкой". В общем, не пойму почему, если это ошибка, она не обсуждается в интернете. Или это у меня заскок? Эксперты, разрешите этот вопрос.
Миниатюры
Ошибка в книге Шилдта?  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 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
2439 / 1661 / 208
Регистрация: 08.06.2007
Сообщений: 6,579
Записей в блоге: 4
01.03.2013, 02:33  [ТС]     Ошибка в книге Шилдта? #4
Ну значит, заскока у меня нет. Теперь спокойно усну. Завтра еще попробую поискать в интернете, может англоязычники где-нибудь эту ошибку обсуждают.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,919
Записей в блоге: 17
01.03.2013, 02:38     Ошибка в книге Шилдта? #5
Цитата Сообщение от palva Посмотреть сообщение
Шилдт явно использует для доступа к массиву q диапазон индексов 1-100, в то время как нужно 0-99.
А где в скрине ЭТО ?
Я не вижу там обрашение к 100 элементу...

Добавлено через 3 минуты
Как я понимаю sloc ведет себя подобно итератору ... А число 100 подобно end() указывающий на элемент "после последнего"
palva
 Аватар для palva
2439 / 1661 / 208
Регистрация: 08.06.2007
Сообщений: 6,579
Записей в блоге: 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++ Компилятор не дает написать main без int. Ошибка в книге, или в С так можно?
Ошибка при подключении файла Sales_item.h из примера в книге C++
Ошибка в книге? C++
Ошибка в книге extra qualification 'Critter::' on member 'operator=' C++

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

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

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