Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Pascal. Динамический массив.  (Прочитано 17554 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Atilla

  • Автор темы
  • Участник
  • *
  • Сообщений: 196
    • Просмотр профиля
Pascal. Динамический массив.
« : 30 Января 2010, 16:59:39 »
Есть один вопрос по динамическим массивам. Как я нарыл, дин. массив объявляется так:
a:array of word;
после говорится что надо задать его длину:
setlength(a, 10);
Но я не понимаю одной вещи: даже если объявить 10 элементов туда можно запихнуть много больше. А самое главное можно обойтись и без setlength. В чем дело? Если можно работать и без setlength, зачем он нужен?
И загвоздка с двумерными: как правильно так:
a:array of word;
или так:
a:array of array of word;
?

Оффлайн vanish

  • Любитель
  • *
  • Сообщений: 70
  • Life Is Good
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #1 : 31 Января 2010, 03:01:56 »
Во-первых на паскале динамических массивов нету. На делфи есть. Во-вторых попробуй писать на нормальных языках.
А по сути вопроса:
1)создать двумерный динамический массив:  M: array of array of real;
2)поучи теорию, узнай что вообще из себя представляет динамический массив, а потом задавай такие вопрос. про установку длины вообще не должно вводиться больше элементов чем ты обьявил через setlength,так как при обьявлении в var память еще не выделяеться под массив. Скорее всего ты где-то еще устанавливаешь длину.

А вообще поучи теорию.Так как без таких элементарных знаний, прожить не реально

Оффлайн SunRize

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #2 : 02 Февраля 2010, 18:32:32 »
есть способ, не помню как называется, но не массив, список вроде, суть заключается в том, что создается тип структура где одно или несколько полей несут информацию, а одно поле содержит адрес следующей такой структуры, адрес последней равен nil

Lifewalker

  • Гость
Re: Pascal. Динамический массив.
« Ответ #3 : 02 Февраля 2010, 19:27:10 »
Может ли топикстартер задать вопрос? Ну в смысле не изложить свои догадки и предположения, а задать вопрос. Реальный вопрос, на который нужен ответ. С указанимем версии использованного Паскаля и так далее. Например, мне известно не менее пяти или шести вариантов Паскаля, от классического до весьма вывертных. Ждём-с...

Оффлайн vanish

  • Любитель
  • *
  • Сообщений: 70
  • Life Is Good
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #4 : 04 Февраля 2010, 01:09:32 »
есть способ, не помню как называется, но не массив, список вроде, суть заключается в том, что создается тип структура где одно или несколько полей несут информацию, а одно поле содержит адрес следующей такой структуры, адрес последней равен nil

Человек вообще то спросил именно про массив, а не про линейный список.

Оффлайн Atilla

  • Автор темы
  • Участник
  • *
  • Сообщений: 196
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #5 : 07 Февраля 2010, 13:16:55 »
Более-менее разобрался.
Насколько я понял правильно задавать "динамический" двумерный массив так:
a:array of array of byte;
А потом:
setlength (a, n, m);
Тогда все хорошо. получается массив [0..n, 0..m]. А вообще действительно надо с++ учить. Меньше проблем.

Оффлайн pavel_pavel

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #6 : 02 Апреля 2010, 14:55:49 »
собственно "списки" и используют как динамические массивы. Читай ман - "Динамические структуры данных"
http://comp-science.narod.ru/Progr/Dynamic.htm. Заодно и узнаеш о "стеках" и "очередях".

Оффлайн Grem

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #7 : 03 Апреля 2010, 13:23:25 »
2ТС, правда, забей на паскаль, мертвый язык.

Оффлайн axe

  • Старожил
  • *
  • Сообщений: 1203
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #8 : 03 Апреля 2010, 14:12:36 »
А вообще действительно надо с++ учить. Меньше проблем.
LOL. Уже предвкушаю "меньше проблем" от С++...

Lifewalker

  • Гость
Re: Pascal. Динамический массив.
« Ответ #9 : 03 Апреля 2010, 14:31:34 »
2ТС, правда, забей на паскаль, мертвый язык.
Да, да, да. Вместе с Адой, Эйфелем, Обероном и прочими языками, которые не в пример Си++ (который Вы скорее всего любите) надёжнее и безопаснее. Может быть потому именно их вместо Си++ используют для написания систем управления транспортом, спутниками и прочей всякой фигнёй, ага?

Оффлайн armad

  • Активист
  • *
  • Сообщений: 629
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #10 : 03 Апреля 2010, 14:45:52 »
(Нажмите, чтобы показать/скрыть)
Ubuntu 10.04. 2.6.35-25-generic-pae Проблем нет.

Оффлайн krwlr

  • Любитель
  • *
  • Сообщений: 67
  • Люблю бабочек))
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #11 : 06 Апреля 2010, 23:26:59 »
ой забавно, читать от неосиляторов про мертвые языки и наставления учить "нормальные"..))) Паскаль вас, родимые, переживет) А уж объектный паскаль, и на могилке спляшет, ну да ладно, щас не об этом.. По теме:

Для топикстартера, если еще актуально: http://www.sources.ru/wiki/doku.php?id=pascal:dynamic_array

Оффлайн gorman

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #12 : 02 Августа 2010, 15:44:08 »
Если использовать паскаль то уже используйте freepascal там есть и всеми любимые функции
malloc, calloc, realloc из библиотеки CMem. А на счет C я думаю что со временем все вернуться к паскалю.
Потому что код паскаля намного читабельней чем C. ;D

Оффлайн vanish

  • Любитель
  • *
  • Сообщений: 70
  • Life Is Good
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #13 : 02 Августа 2010, 16:57:16 »
Ага конечно. Я хотел бы посмотреть на ядро написанное на паскале. Ты вообще думай что говоришь. Если ты ничего кроме паскаля не знаешь, то кто тебе виноват

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Pascal. Динамический массив.
« Ответ #14 : 02 Августа 2010, 17:07:24 »
Как обычно это у нас бывает: тема  про ЯП заканчивается холиваром о том, какой ЯП лучше...
Тему закрываю...

 

Страница сгенерирована за 0.071 секунд. Запросов: 25.