![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Airon |
![]()
Сообщение
#1
|
Гость ![]() |
Люди, люди, человеки!!! расскожите как задовать массив [1..k].
тоесть с неопределённым верхним пределом??! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Так что именно?
Цитата(Airon @ 16.02.05 15:28) как задовать массив [1..k] или все-таки с Цитата(Airon @ 16.02.05 15:28) неопределённым верхним пределом? Это совершенно разные вещи. Массив [1 .. k] задается элементарно: Код const k = 10; Var a: array[1 .. k] of integer; А вот динамические массивы встроенными средствами Турбо Паскаля не создать... Хотя можно воспользоваться тем, что написано в ФАКе: FAQ: Динамические массивы |
hiv |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Есть два способа:
1. TList - список; 2. M: array of integer; массив неопределенного размера setlength(M,128) - установить (выделить памяти для массива) размер массива 128 элементов. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
hiv
Во избежании откликов типа "у меня не работает", все-таки надо бы уточнять, что Цитата 2. M: array of integer; массив неопределенного размера setlength(M,128) - установить (выделить памяти для массива) размер массива 128 элементов. имеет место только в Delphi... |
hiv |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Приношу свои извенения volvo!
Тогда остается только список. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
списков тоже нет в турбо паскале ...
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Romtek |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
Нет в стандартных средствах, но реализовать просто.
Смотрите FAQ -------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Динамические массивы тоже не сложно реализовать ;) смотрите FAQ.
![]() Дело именно в наличии их как стандартных.. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Digitalator |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если длина массива изменяется относительно редко(или вообще не изменяется) и ненакладно при каждом изминении копировать весь массив, то целесообразно использовать такую конструкцию
Код var i,size:byte; type TMyArray=array [0..0] of ArrayType; var MyArray:^TMyArray; begin size:=5; getmem(MyArray, size*sizeof(integer)); MyArray^[0]:=1; MyArray^[size-1]:=2; for i:=0 to size-1 do writeln(MyArray^[i]); freemem(MyArray, size*sizeof(ArrayType) ); end. недостаток - воизбежание ошибок неообходимо в качестве индекса массива брать только переменные. Сообщение отредактировано: Digitalator - 18.02.2005 20:08 -------------------- |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Ну хорошо, может еще кто-нибудь предложит этот же алгоритм? Я ссылки для красоты по-Вашему даю? Ходить по ним не пробовали никогда? Иногда это бывает полезно...
|
Digitalator |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вы сцылку на фак имеете ввиду? право признюсь - дествительно фак никогда не читал за ненадобностью. Однако сейчас посмотрел, вот только кроме списков и афигенных модулей ничего там не заметил... я слепой?
-------------------- |
Altair |
![]()
Сообщение
#12
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата кроме списков и афигенных модулей ничего там не заметил... я слепой? да. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Digitalator |
![]()
Сообщение
#13
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(Oleg_Z @ 19.02.05 4:56) да. Если не трудно ткните носом ![]() Код var i,size:byte; type TMyArray=array [0..0] of ArrayType; var MyArray:^TMyArray; begin size:=5; getmem(MyArray, size*sizeof(integer)); MyArray^[0]:=1; MyArray^[size-1]:=2; for i:=0 to size-1 do writeln(MyArray^[i]); freemem(MyArray, size*sizeof(ArrayType) ); end. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 21:33 |