|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2011, 18:24 | #1 |
Регистрация: 16.01.2009
Сообщений: 3
|
Изменяющийся массив
Допустим дана задача :
Пользователь вводит N (= 10..1000) кол-во учеников, затем в каждой строке вводит фамилию и класс. Отсеять из них всех людей выше 5 класса и вывести в хронологическом порядке. Проблема заключается в том, что, если решать эту задачу (допустим) двумерным массивом, где верхняя строка - фамилия, нижняя - номер класса, то проблем с порядком не будет, однако, есть проблема с самим массивом... ведь до ввода N в read(n) кол-во учеников не известно, а значит нельзя использовать a: array [1..2,1..N] of string, т.к такое можно делать только при известном N (аля const n=30). Вопрос состоит в следующем : как задать массив на заранее не известное кол-во ячеек, т.е, массив, который изменится (или перезадастся/обновится/создастся) уже по ходу действия программы, после нужного мне подсчета определенной переменной? p.s Если рассматривать задачу с классами, то нужно что-то типо такого : Код:
p.p.s Можно ли считать переменную NА потом перепрыгнуть label'ом на строку перед var'ом, чтобы у нас сразу же была задана переменная N после этого в массиве [1..2,1..N]. Последний раз редактировалось Stilet; 20.04.2011 в 10:36. |
19.04.2011, 18:53 | #2 | ||
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
Цитата:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
||
19.04.2011, 19:00 | #3 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 588
|
А что мешает сделать так
Код:
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681 |
19.04.2011, 19:07 | #4 |
Пользователь
Регистрация: 19.04.2011
Сообщений: 23
|
Код:
Или так. |
20.04.2011, 09:54 | #5 |
Регистрация: 16.01.2009
Сообщений: 3
|
|
20.04.2011, 10:51 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
решайте задачу обычным односвязным списком.
примеров реализации - полно (в т.ч. и на данном форуме). |
20.04.2011, 11:17 | #7 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Динамический массив это то что написали вам в посте 4 правда синтаксис неверен должно быть
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
20.04.2011, 13:37 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Совсем! Добавлено можно было обмануть Паскаль и эмулировать динамический массив через указатели. Но я бы категорически не рекомендовал использовать подобные хакерские приёмы в программах.. Вот код, как можно (НО НЕ НУЖНО!) сэмулировать дин.массив: Код:
Последний раз редактировалось Serge_Bliznykov; 20.04.2011 в 14:17. |
|
20.04.2011, 16:40 | #9 | |
Регистрация: 16.01.2009
Сообщений: 3
|
Цитата:
p.s Да, речь шла о Turbo Pascal. |
|
20.04.2011, 17:23 | #10 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Можно решить Вашу проблему через использование динамического списка. Это раз. Цитата:
цитирую: "N (= 10..1000 ) " Это подразумевает, что больше тысячи учеников быть не может! Т.е. если учеников 1001 - Ваша программа может смело говорить пользователю о нарушении правил её использования и либо закрываться совсем, либо обрабатывать первую тысячу (это уж Вы, как программист, можете сами решить!) Подобые ограничения могут быть записаны так: Код:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W | leha_demi | Помощь студентам | 2 | 24.09.2011 18:12 |
Изменяющийся выпадающий список | EugeneK78 | Microsoft Office Excel | 7 | 28.03.2010 20:37 |
Access 2003: как сделать изменяющийся список выбора в зависимости от значения в соседнем поле | tanchikb | Microsoft Office Access | 14 | 14.01.2010 10:46 |
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. | Marishkaa | Помощь студентам | 2 | 12.01.2010 16:54 |
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. | TheVenny | Помощь студентам | 3 | 26.11.2008 15:06 |