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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.95
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 249
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-ой строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 11:33     Почему индекс массива начинается с нуля ? #21
Цитата Сообщение от SatanaXIII Посмотреть сообщение

Не по теме:

знаете почему математики с недоверием глядят на программистов?

Не по теме:

эх, не надо гнать на математиков, враки это на основе мат.логики сейчас вы пишите программы на том или ином языке. не забывайте принципы Неймана, Лейбница, теорию Шеннона и т.д.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
03.07.2013, 11:35
  #22

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
знаете почему математики с недоверием глядят на программистов? Потому что программисты знают, что x=x+1.
и еще потому что математики думают, что в килобайте 1000 байт
а программисты твердо уверены, что в километре 1024 метра

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 11:36     Почему индекс массива начинается с нуля ? #23
Цитата Сообщение от ValeryS Посмотреть сообщение

Не по теме:


и еще потому что математики думают, что в килобайте 1000 байт

Не по теме:

тоже враки Лейбниц первым ввел двоичные исчисление и Шеннон многое дал теории информации и все это математики!!!!!!!!!! Я уже молу о нашей великой ШКОЛЕ КОЛМОГОРОВА!!!!!!!!!!

sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 249
03.07.2013, 11:37  [ТС]     Почему индекс массива начинается с нуля ? #24
ValeryS,
Ноль на линейке равен нулю.
А первый год жизни измеряется 1/12 - месяц, 1/365 - день и т.д.
Поэтому возраст одно-месячного ребёнка равен ~ 0,084 года, а это уже явно не 0.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
03.07.2013, 11:42     Почему индекс массива начинается с нуля ? #25
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Поэтому возраст одно-месячного ребёнка равен ~ 0,084 года, а это уже явно не 0.
а в натуральных числах?
да еще если ребенку 2 минуты от роду?
вот и получается [0,1[
0 лет
и в медицинских картах что то я не видел
возраст 0,084 года
0 лет 1 мес пожалуйста
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 11:45     Почему индекс массива начинается с нуля ? #26
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Ноль на линейке равен нулю.
вот зануда!!! нумеровать можно и с -100, а можно и стульями и столами. знаете понятие счетного множества? так вот нумеровать можно чем угодно!!! а ну марш за математические книжки!!!
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 249
03.07.2013, 11:49  [ТС]     Почему индекс массива начинается с нуля ? #27
1 месяц это и есть 1/12 года.
В медкартах указывают количество целых значений. Целых значений 0. 0=0.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,844
Записей в блоге: 2
Завершенные тесты: 1
03.07.2013, 11:58     Почему индекс массива начинается с нуля ? #28
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Ноль на линейке равен нулю.
однако то, что находится между нулем и единицей на линейке является первым сантиметром, а не нулевым и смещение от нуля, до первого сантиметра равно 0, а не 1
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
03.07.2013, 11:58     Почему индекс массива начинается с нуля ? #29
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
В медкартах указывают количество целых значений. Целых значений 0. 0=0.
Вы сами только что ответили на свой вопрос.
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
1 месяц это и есть 1/12 года.
Именно. Вы приводите в пример единицу измерения (год), а вам ее для того же примера дробят (месяц) и спрашивают - как будете с помощью вашего отрезка (года) мерить (месяц). А вы говорите, что месяц опять же можно поделить. Именно подобным образом Ахилес и не догнал черепаху.

Thinker, хватит отсылок к книжкам. Приведите развернутый пример, в картинках.
Praktolock
 Аватар для Praktolock
58 / 58 / 0
Регистрация: 29.11.2011
Сообщений: 272
03.07.2013, 12:00     Почему индекс массива начинается с нуля ? #30
месяц!=1/12 года. в них разное количество дней да и длинна года зависит от весокосности

Добавлено через 59 секунд
Сергей, попробуй обратится к элементу массива с индексом 1/12
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,844
Записей в блоге: 2
Завершенные тесты: 1
03.07.2013, 12:01     Почему индекс массива начинается с нуля ? #31
sergey.shuvalov, а может просто взять и почитать о том, что такое массивы, указатели, адресная арифметика и тому подобное? Нарисовать дома во всю стену массив, указатели, как что меняется и т.д. И вот же картина проясняется
Praktolock
 Аватар для Praktolock
58 / 58 / 0
Регистрация: 29.11.2011
Сообщений: 272
03.07.2013, 12:02     Почему индекс массива начинается с нуля ? #32
Цитата Сообщение от Croessmah Посмотреть сообщение
sergey.shuvalov, а может просто взять и почитать о том, что такое массивы, указатели, адресная арифметика и тому подобное? Нарисовать дома во всю стену массив, указатели, как что меняется и т.д. И вот же картина проясняется
И скинуть нам фото элемента [0.84] :-D

Добавлено через 31 секунду
А то не поверю низачто, пока не увижу
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 12:10     Почему индекс массива начинается с нуля ? #33
Цитата Сообщение от SatanaXIII Посмотреть сообщение

Thinker, хватит отсылок к книжкам. Приведите развернутый пример, в картинках
а зачем? проблема нынешних школьников в том, что абстрагироваться они не могут. В природе даже натуральных чисел нет, все это абстракция. затем придумали понятие счетного множества, биективного множеству натуральных чисел, это означает, что нумеровать объекты можно любым счетным множеством. потом это обобщили для произвольного множества, введя понятие аксиомы выбора и доказав теорему Цермело. теперь можно линейно упорядочить произвольное множество, а следовательно, и пронумеровать.

Добавлено через 4 минуты
Цитата Сообщение от Praktolock Посмотреть сообщение
И скинуть нам фото элемента [0.84]
а что вас это смущает. здесь нет таких элементов, но, в силу линейной упорядоченности поля действительных чисел, можно было бы и такое придумать, ничего страшного. проблемой только скорость такого компилятора будет, логика же не нарушится вовсе.
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 249
03.07.2013, 12:16  [ТС]     Почему индекс массива начинается с нуля ? #34
В институте на курсе лекций по программированию лекторша записывала на доске 0, как 0 с перечёркиванием.
На что я её спросил: "Тётя, зачем вы это делаете?".
А она в ответ: " Ну понимаете, машина не может отличить 0 от о, поэтому и нужно перечёркивание.
А я ей и говорю:" А люди-то могут отличить.".
Она - я так уже привыкла.
Я - отвыкай.
Croessmah
03.07.2013, 12:17
  #35

Не по теме:

sergey.shuvalov, и правильно делала, что перечеркивала

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 12:21     Почему индекс массива начинается с нуля ? #36
sergey.shuvalov, а что здесь смешного?! если преподаватель профессионал, то обозначения это дело вкуса. по поводу обозначений, то в России имеются математические школы Мальцева и Куроша, которые (так повелось от самих Мальцева и Куроша) одни и те же некоторые алгебраические объекты определяют по-разному (противоположно). И в то же время, Мальцев и Курош это ВЕЛИКИЕ АЛГЕБРАИСТЫ, которые делали это, недолюбливая, но уважая друг друга.
Praktolock
 Аватар для Praktolock
58 / 58 / 0
Регистрация: 29.11.2011
Сообщений: 272
03.07.2013, 12:31     Почему индекс массива начинается с нуля ? #37
Мнение авторитета:
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Я - отвыкай.
Цитата Сообщение от Thinker Посмотреть сообщение
а что вас это смущает. здесь нет таких элементов, но, в силу линейной упорядоченности поля действительных чисел, можно было бы и такое придумать, ничего страшного. проблемой только скорость такого компилятора будет, логика же не нарушится вовсе.
А как насчёт ирационального числа в качестве индекса? Всё равно определённые ограничения будут, т.к. минимальное смещение будет зависеть от битности процессора и размера элемента массива, но оно будет.
А вообще по теме: если ТС'у нужен такой компилятор - пусть пишет, я не против
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 12:35     Почему индекс массива начинается с нуля ? #38
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Я - отвыкай.

Не по теме:

это, вообще, свинством называется. представлю, придешь ты к маститому профессору и скажешь, что его обозначения тебя не устраивают, пошлет он тебя куда подальше... у нас на младших курсах некоторые профессора из МГУ (приезжие) одно и тоже обозначали по-разному и даже мысли не было что трудно и так, и так понимать



Добавлено через 3 минуты
Цитата Сообщение от Praktolock Посмотреть сообщение
А как насчёт ирационального числа в качестве индекса? Всё равно определённые ограничения будут, т.к. минимальное смещение будет зависеть от битности процессора и размера элемента массива, но оно будет.
А вообще по теме: если ТС'у нужен такой компилятор - пусть пишет, я не против
с иррациональными числами дело сложнее, пока таких нет компьютеров, но с рациональными и ограниченной дробной частью почему бы и нет. непонятно, почему нумерация с 0 некоторым тяжело дается
Praktolock
 Аватар для Praktolock
58 / 58 / 0
Регистрация: 29.11.2011
Сообщений: 272
03.07.2013, 12:37     Почему индекс массива начинается с нуля ? #39
Просто парень гуру бэйсика
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 12:37     Почему индекс массива начинается с нуля ?
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
03.07.2013, 12:37     Почему индекс массива начинается с нуля ? #40
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
А она в ответ: " Ну понимаете, машина не может отличить 0 от о, поэтому и нужно перечёркивание.
Машина то как раз может
ASCII код "0"=0x30 а "O"=0x4F
а вот человек не всегда сможет
кстати на старых терминалах ноль выводился с чертой по середине иногда с косой чертой
по этой же причине не принято использовать имя переменной " l "(строчная L) легко спутать с 1
Yandex
Объявления
03.07.2013, 12:37     Почему индекс массива начинается с нуля ?
Ответ Создать тему
Опции темы

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