Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2008, 17:22   #1
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
Плохо Массив

Здравствуйте.Вопрос очень простой, но мне не найти к нему ответа.
До меня не доходит, как сделать так, чтобы размерность двумерного массива задавать не в программе, а вводить с клавиатуры?
То есть без "[1..5,1..4]" и "const n=5; m=4; ". Если это,конечно, возможно.
Заранее спасибо.
My Life v1.0b ERROR: health.dll not found

Последний раз редактировалось xxxPascalxxx; 04.01.2008 в 17:40.
xxxPascalxxx вне форума Ответить с цитированием
Старый 04.01.2008, 17:45   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Это требуется сделать в Delphi или в обычном Паскале?
Jeni вне форума Ответить с цитированием
Старый 04.01.2008, 17:45   #3
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Динамический массив.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 04.01.2008, 17:51   #4
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Требуется сделать в Делфи, но если можно, вариант и в Паскале.
А что такое динамический массив?
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 04.01.2008, 18:00   #5
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

В классическом Паскале динамических массивов нет. Они появились ,если не изменяет память, только в делфи 2.
Посмотрите здесь-Динамический массив
bill вне форума Ответить с цитированием
Старый 04.01.2008, 18:12   #6
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Хорошо, а для PascalABC, к примеру, как сделать ввод с клавиатуры? Или это можно сделать только в Делфи?

var a:array [1..n,1..m] of integer;
i,j:integer;
begin
readln (n);
readln (m);
...

Вот что мне хотелось бы сделать, но это не правильно.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 04.01.2008, 18:20   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от xxxPascalxxx Посмотреть сообщение
Требуется сделать в Делфи, но если можно, вариант и в Паскале.
Если в Delphi, то это гораздо проще, см. предыдущее сообщение со ссылкой.
В Паскале можно лишь заранее создать массив с максимальными размерами, а потом использовать только нужную часть. Можно еще создать (одно-/двух-)связные списки. Это сравнительно просто для имитации одномерного массива. Для двумерного уже сложнее. К тому же невозможно будет обратиться к элементу просто по его индексу. Вобщем, геморрой.
Jeni вне форума Ответить с цитированием
Старый 04.01.2008, 18:26   #8
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Спасибо за консультацию.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 05.01.2008, 13:25   #9
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
Радость

Цитата:
Сообщение от xxxPascalxxx Посмотреть сообщение
Хорошо, а для PascalABC, к примеру, как сделать ввод с клавиатуры? Или это можно сделать только в Делфи?
var a:array [1..n,1..m] of integer;
i,j:integer;
begin
readln (n);
readln (m);
...
Вот что мне хотелось бы сделать, но это не правильно.
А в PascalABC двумерные массивы есть? Сомневаюсь(в моей версии нет).
А ошибка в том что ты пытаешься изменить константы n и m,которые ты определил до раздела var, верно? Их изменять нельзя(в делфи можно но с помщью спец директив, котoрые надо включать). Поэтому надо ввести новые переменные в var и:
Код:
var s,ss:integer;
begin
readln(s);
readln(ss);..
bill вне форума Ответить с цитированием
Старый 05.01.2008, 13:32   #10
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от bill Посмотреть сообщение
А в PascalABC двумерные массивы есть? Сомневаюсь(в моей версии нет).
Не может быть! В Паскале многомерные массивы были испокон веков. Может просто ошибка где-нибудь в написании?
Jeni вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив Айвенго PHP 2 22.02.2008 16:34
Массив.С++ bloo[d] Помощь студентам 1 13.01.2008 14:55
массив! Jodu Помощь студентам 2 11.01.2008 20:59
Массив vitalik007 Помощь студентам 15 17.10.2007 19:56
Массив Snake_ua Помощь студентам 2 15.10.2007 07:04