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

Почему индекс массива начинается с нуля ? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.95
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 259
03.07.2013, 10:40     Почему индекс массива начинается с нуля ? #1
Почему первый элемент массива обозначается 0 , а не 1.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 10:40     Почему индекс массива начинается с нуля ?
Посмотрите здесь:

C++ индекс массива
C++ указать индекс второго массива, при котором оба массива перестают совпадать
Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность C++
Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность C++
C++ Не могу понять, почему ввод строк начинается со 2-ой строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
03.07.2013, 12:38     Почему индекс массива начинается с нуля ? #41
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Я - отвыкай
те
Кликните здесь для просмотра всего текста
Цитата Сообщение от Thinker Посмотреть сообщение
и Куроша
Вот вы свой пед и пм с головой выдали.

И вообще, логика sergey.shuvalov ясна - при подсчете объектов реальной жизни мы всегда начинаем с единицы. Отметить по линеечке один сантиметр, два сантиметра... При устном пересчете объектов: есть объект - загибаем один пальчик, есть второй - загибаем второй. Не ноль пальцев мы загибаем, когда начинаем считать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 12:41     Почему индекс массива начинается с нуля ? #42
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вот вы свой пед и пм с головой выдали

Не по теме:

пед? даже в мысли не было в пед поступать. вообще то учебники Куроша по линейной и общей алгебре во всех библиотеках крупных университетов есть.

IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,735
Записей в блоге: 3
03.07.2013, 13:16     Почему индекс массива начинается с нуля ? #43
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Почему первый элемент массива обозначается 0 , а не 1.
Операции сравнения целых чисел обычно реализуются с помощью вычитания. Так, сравнение на равенство или неравенство двух чисел может быть сведено к сравнению их разности с машинным нулем (числом, все разряды которого нулевые). Сравнения на неравенство (<, >, <, >) таким же образом могут быть сведены к проверке знака у разности этих чисел (т.е. к анализу значения самого левого бита разности).
Вспомните, условия невыхода за границы как в прямом, иак и в обратном направлении, - сравнение с 0.
Ну а вопрос: зачем это в языке высокого уровня имеет два ответа. Во-первых для совместимости с Си. Во-вторых сам автор (небезосновательно) считает С++ языком "среднего" уровня, утверждая, что его "высокоуровневость" не мешает ему успешно конкурировать с Си в скорости и гибкости. То есть проигрыш не велик при условии приличной реализации.
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,066
03.07.2013, 13:25     Почему индекс массива начинается с нуля ? #44
Цитата Сообщение от SatanaXIII Посмотреть сообщение
при подсчете объектов реальной жизни мы всегда начинаем с единицы.
пожалуйста жизненный пример
нужно поставить забор длинной 10м через каждый метр нужен столб
вопрос сколько нужно столбов?
ответ 11
откуда лишний столб взялся?
а это и есть нулевой столб, начальный
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,735
Записей в блоге: 3
03.07.2013, 13:39     Почему индекс массива начинается с нуля ? #45
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Сообщение от SatanaXIII Посмотреть сообщение
при подсчете объектов реальной жизни мы всегда начинаем с единицы.
Подсчёт порядкового номера, - да, а подсчёт количества, - нет. Иначе на вопрос сколько у тебя миллионов (денег) каждый бы сразу загибал один палец. И это вряд ли привело бы мир ко всеобщему обогащению. Хотя первое время было бы веселее.
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 259
03.07.2013, 14:08  [ТС]     Почему индекс массива начинается с нуля ? #46
ValeryS,
Крайний левый столб будет номер 1, крайний правый столб номер 11. Расстояния между столбом номер 1 и между столбом номер 11 будет равно 10 метрам. Не нужно путать расстояние и количество предметов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 14:10     Почему индекс массива начинается с нуля ?
Еще ссылки по теме:

C++ Удалить из массива тех абонентов, телефон которых начинается с цифры 3
C++ Почему счетчик в цикле for начинается с нуля, а не с единицы?
C++ Индекс массива

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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,735
Записей в блоге: 3
03.07.2013, 14:10     Почему индекс массива начинается с нуля ? #47
Цитата Сообщение от ValeryS Посмотреть сообщение
вопрос сколько нужно столбов?
Больной вопрос.
В странах, где всё отрегулировано так, что математика работает без АК (калаша), и то столбов, щебня, гравия, кубов цемента и пр., всегда нужно немного больше, чем получается простым счётом.... У нас же это просто невероятно!
Yandex
Объявления
03.07.2013, 14:10     Почему индекс массива начинается с нуля ?
Ответ Создать тему
Опции темы

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