Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы в языках программирования 
:(
    Опции темы
Lateralus
Дата 14.12.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В каких языках программирования,кроме Паскаля,можно писать массивы с произвольными границами типа 1..100 или хотя бы изменить границы массивов без грязных хаков и гимора.
PM MAIL   Вверх
_Y_
Дата 14.12.2011, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 8
Всего: 34



в VB вроде можно было менять. кажется оператор был redim. Даже можно было менять не убивая при этом содержащиеся данные. Но это все воспоминания-воспоминания.

Ага. Еще в старинном Fortran 4 можно было один и тот же участок памяти именовать разными массивами и даже наборами переменных. Все это без хаков а на уровне самих операторов языка. Особого мастерства не требовалось, чтобы использовать это для изменения размеров массивов без каких-либо изменений в данных. Но это тоже воспоминания. Может и в современном Fortran это возможно - не знаю.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Pavia
Дата 14.12.2011, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 12



В языке С++ можно.
PM MAIL   Вверх
newbee
Дата 14.12.2011, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

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



Цитата(Pavia @  14.12.2011,  22:41 Найти цитируемый пост)
В языке С++ можно. 
В языке C++ для этого нужно писать свою реализацию массива. Все остальное - хаки, крайне опасные в использовании



--------------------
You're face to face
With man who sold the world
PM   Вверх
alexvs11
Дата 14.12.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


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

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



в лиспе сами пишут массивы и сами придумывают как получить к их элементам доступ smile 
PM MAIL   Вверх
newbee
Дата 14.12.2011, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

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



За все лиспы не скажу, но в Common Lisp есть нативные массивы в т.ч. многомерные. Но счет там начинается с нуля. Единственное, о чем я сразу хотела написать, но потом посчитала не особо интересным, массивы можно частично или полностью расшаривать, например, если a={1,2,3,4,5}, у него можно расшарить три элемента, начиная с первого (счет начинается с 0), тогда будет b={2,3,4} - при этом a и b ссылаются на одну область памяти. На практике мне это ни разу не потребовалось ))


--------------------
You're face to face
With man who sold the world
PM   Вверх
alexvs11
Дата 15.12.2011, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


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

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



newbee,  не знаю, я scheme изучаю, с низов
так что все пока car, cdr  smile 
PM MAIL   Вверх
Akina
Дата 15.12.2011, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

Репутация: 20
Всего: 454



Цитата(_Y_ @  14.12.2011,  18:47 Найти цитируемый пост)
в VB вроде можно было менять. 

Цитата(_Y_ @  14.12.2011,  18:47 Найти цитируемый пост)
кажется оператор был redim. 

Цитата(_Y_ @  14.12.2011,  18:47 Найти цитируемый пост)
Даже можно было менять не убивая при этом содержащиеся данные.

Угу. 
Код

Dim x(-20 to 30) As Integer ' Определить
ReDim x(2 to 5, 0 to 10) ' Переопределить
ReDim Preserve x(2 to 5, 0 to 20) ' Переопределить с сохранением данных

В этом коде хотя и нет смысла, но нет и ни одной ошибки.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
_Y_
Дата 15.12.2011, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 8
Всего: 34



Akina, точно. Хорошая у тебя память! 

Кстати, в плане оффтопа, а ставится на современные компы VB? Раз в год приходит просьба что-нибудь поменять в написанных мною старых программах. Пока обходился старинным железом с Windows 2000, но его уже нет в живых и я с ужасом жду следующей просьбы. 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Akina
Дата 15.12.2011, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

Репутация: 20
Всего: 454



Цитата(_Y_ @  15.12.2011,  11:28 Найти цитируемый пост)
а ставится на современные компы VB? 

легко. 



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kemiisto
Дата 15.12.2011, 11:22 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(Lateralus @  14.12.2011,  16:31 Найти цитируемый пост)
В каких языках программирования,кроме Паскаля,можно писать массивы с произвольными границами типа 1..100...

В Fortran можно. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
_Y_
Дата 15.12.2011, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 8
Всего: 34



Цитата(Akina @ 15.12.2011,  10:56)
Цитата(_Y_ @  15.12.2011,  11:28 Найти цитируемый пост)
а ставится на современные компы VB? 

легко.

Что-то были у меня заморочки с  установкой VB6 под XP. Так что спасибо - значит я что-то не так делал.

Но это уже полный ОФФ. Понадобится - буду писать в соответствующую ветку. А пока ответов на это "не по теме" не жду.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
$дмитрий
Дата 15.12.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



В php
PM MAIL   Вверх
Фантом
Дата 15.12.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Паскаль, Ада, Модула-2, Фортран, Луа... 
PM   Вверх
миг
Дата 16.12.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



да  в любом языке либо есть такие массивы, либо можно реализовать некое подобие массива.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

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


 




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


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

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