Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Индексация массивов 
:(
    Опции темы
Фантом
Дата 9.11.2010, 01:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(skyboy @  9.11.2010,  00:46 Найти цитируемый пост)

мы по-прежнему говорим о массивах? Или о мапах/хешах/гридах с синтаксисом таким же, как и у массивов?

Именно о массивах. Для этого вполне достаточно, чтобы между индексом массива и некоторым конечным набором целочисленных значений существовала биекция, устанавливаемая на этапе компиляции.  smile 
PM   Вверх
SelenIT
Дата 11.11.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



А кстати, вроде ж в каком-то дремучем бейсике можно было явно указывать OPTION BASE - и пиши после как себе удобнее. В самом деле, почему от этого отказались?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
baldina
Дата 11.11.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(SelenIT @  11.11.2010,  16:54 Найти цитируемый пост)
в каком-то дремучем бейсике можно было явно указывать OPTION BASE - и пиши после как себе удобнее. В самом деле, почему от этого отказались?

никто не отказывался. во многих языках есть (хотя бы на уровне библиотек) возможность работать с массивами, указывая Ubound/Lbound

Добавлено @ 18:12
Цитата(SelenIT @  11.11.2010,  16:54 Найти цитируемый пост)
и пиши после как себе удобнее

удобство удобству рознь. задачи, где в явном виде присутствуют массивы с заданными диапазонами, не так уж часто встречаются.
а в большинстве прочих случаев удобнее (см. выше) иметь базой 0

Это сообщение отредактировал(а) baldina - 11.11.2010, 18:12
PM MAIL   Вверх
baldina
Дата 11.11.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



понимаю, подсознательно 0 не хочется за число признавать, и считаем мы от одного. недаром даже такие великие умы как пифагор и декарт ноль (да и отрицательные числа тоже) за число не признавали.
конечно, ведь с точки зрения "здравого смысла" ноль это пустота, ничто. 
его особое положение понятно с точки зрения алгебры: ноль является специальным элементом множества. но таки элементом множества (т.е. числом), а не отдельным объектом. и именно свойство a+0=a и дает нам удобство начинать счет от 0. это если смотреть на операции с массивами с точки зрения машинной арифметики, арифметики указателей и алгебры.

Добавлено через 1 минуту и 17 секунд
с обывательской удобнее "адын два тры", но программы пишут программисты  smile 
PM MAIL   Вверх
mes
Дата 21.11.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(mimik @  8.11.2010,  19:35 Найти цитируемый пост)

я уже привык к этому синтаксису, но хочется писать для людей, а не для компилятора

Цитата(baldina @  11.11.2010,  17:26 Найти цитируемый пост)
с обывательской удобнее "адын два тры"


а с какого года начался первый век ? а компьютеров тогда еще не было   smile 



Это сообщение отредактировал(а) mes - 21.11.2010, 21:51


--------------------
PM MAIL WWW   Вверх
LSD
Дата 21.11.2010, 22:30 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 9
Всего: 537



Цитата(A5uKa @  8.11.2010,  16:02 Найти цитируемый пост)
ну положительные числа с нуля начинаются.

И давно?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
mimik
Дата 21.11.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(mes @  21.11.2010,  21:51 Найти цитируемый пост)
а с какого года начался первый век ?

а при чем тут это?

да, что и начинается с нуля, например год, но только потому что он может быть а может и не быть(т.е. 0)
интересно а нулевой век есть?

имхо, не быавет массив без элемента
PM   Вверх
bars80080
Дата 21.11.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(mimik @  21.11.2010,  21:47 Найти цитируемый пост)
интересно а нулевой век есть?

нет



Цитата(mimik @  21.11.2010,  21:47 Найти цитируемый пост)
имхо, не быавет массив без элемента 

пожалуйста
Код

$a = array();

нет элементов. и даже count() покажет 0
PM MAIL WWW   Вверх
mimik
Дата 21.11.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(bars80080 @  21.11.2010,  22:51 Найти цитируемый пост)
нет элементов. и даже count() покажет 0

имхо, это только определение типа

Код

if (array() == null) echo  'aha';

 smile 
PM   Вверх
gcc
Дата 22.11.2010, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



Код

use Data::Dumper;

my $array = [[],666]; 

print Dumper $array->[0];
print "\n".Dumper $array;
print ref $array->[0];
print "\n\n".$array->[0];

my @a = qw();
print "\n\n".Dumper \@a;


вывело:
Код

./perll.pl

$VAR1 = [];

$VAR1 = [
          [],
          666
        ];
ARRAY

ARRAY(0x810017c)

$VAR1 = [];



ARRAY(0x810017c) - пустой массив, ссылка на массив  smile 



Это сообщение отредактировал(а) gcc - 22.11.2010, 02:48
PM WWW ICQ Skype GTalk Jabber   Вверх
SelenIT
Дата 22.11.2010, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Цитата(mes @  21.11.2010,  21:51 Найти цитируемый пост)
а с какого года начался первый век ?

С первого, судя по всему...  smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
baldina
Дата 22.11.2010, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



первый год, второй год...
сейчас 2010. сколько лет от РХ пройдет, когда он закончится (и начнется 2011)? правильно, 2010.
при i=0 мы обрабатываем первый элемент массива.
когда он будет обработан (цикл перейдет к следующему шагу) будет обработан один элемент, i будет равно 1.

Добавлено через 3 минуты и 49 секунд
все от подхода зависит, от определения. если считать индекс массива синонимом смещения от начала (что в некоторых языках таковым является по определению), никаких сомнений и неудобств не будет

Добавлено через 5 минут и 50 секунд
Цитата(mimik @  21.11.2010,  22:47 Найти цитируемый пост)
имхо, не быавет массив без элемента

эт только ийхо. пустой карман бывает? а пустое множество? а пустой список, дерево?
PM MAIL   Вверх
mimik
Дата 22.11.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(baldina @  22.11.2010,  09:32 Найти цитируемый пост)
а пустое множество? а пустой список, дерево?

это ∅ т.е. null/nil
я хотел сказать что если нет элементов то это пустое множество а не массив

Цитата(baldina @  22.11.2010,  09:32 Найти цитируемый пост)
пустой карман бывает?

нулевой карман бывает?
PM   Вверх
bars80080
Дата 22.11.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(mimik @  22.11.2010,  13:07 Найти цитируемый пост)
это ∅

причём здесь диаметр?


Цитата(mimik @  22.11.2010,  13:07 Найти цитируемый пост)
 хотел сказать что если нет элементов то это пустое множество а не массив

а если есть элементы, то почему это массив, а не заполненное множество?
PM MAIL WWW   Вверх
Kefir
Дата 27.12.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 4
Всего: 87



С нуля надо начинать и не пудрите другим мозги. Это ж легче застрелиться, если на индексацию с единицы перейти. У меня в каждом цикле ошибки будут. То есть я к тому, что ноль - это традиция, привычка, обычай - как угодно называйте. А на единицу не переходят ибо просто незачем. Вот вам красоты хочется, а смысла от такого перехода - пшик.

Хотя нет. Вот вы представьте, перейдём мы все (Java, C++, C# etc.) на единицу в этом вопросе... вот подумайте только, как потом, лет через дцать мы будем трепать молодых программистов по макушке и по-доброму говорить: "Ех, молодёжь, не застали вы время, когда индексы с нуля начинались... Даааа, были временааа!". Потом на выбор можно затянуться трубкой или выпить глоточек виски...
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.2101 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.