|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.09.2010, 15:14 | #1 |
Новичок
Джуниор
Регистрация: 19.09.2010
Сообщений: 5
|
Не работает программа
Не работает программа, результат - только мерцание черного окошка.
Программа должна выводить массив чисел. Заполнение происходит так: -имеем массив 1 с целыми числами от 1 до 2000; далее циклом. выполняется, пока массив 1 не будет пуст. -получаем случайное число в диапазоне от 1 до 2000; -записываем число в массив 2, который будет выводится; -проверяем есть ли это число в массиве 1, если да, то вычеркиваем его из массива 1; -проверяем массив 1 на пустоту, если пустой, то заканчиваем заполнение массива 2. Код:
Последний раз редактировалось Ult1m; 19.09.2010 в 18:46. |
19.09.2010, 16:07 | #2 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
А кто будет SetLength для M2 делать?
|
19.09.2010, 17:01 | #3 |
Новичок
Джуниор
Регистрация: 19.09.2010
Сообщений: 5
|
добавил SetLength(М1,100000). и кстати, как задавать длину, если не известен конечный размер массива?
после запуска ошибка |
19.09.2010, 17:15 | #4 | ||
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Цитата:
Только вместо M1 впишите M2,M1 то имеет конечную длину 2000. Из-за этого у Вас и вылетает Access Violation. Цитата:
P.S. С количеством итераций больше 5000 поаккуратней,сто тысяч итераций не вздумайте делать без особой надобности.
Темы для WordPress. Русские WordPress шаблоны
Последний раз редактировалось Alexei91; 19.09.2010 в 17:24. |
||
19.09.2010, 17:33 | #5 |
Новичок
Джуниор
Регистрация: 19.09.2010
Сообщений: 5
|
ошибся тут, длину я задал М2.
я имел ввиду другое про задание длины - конечная длина неизвестна, какое тогда число писать? через cmd вот: Последний раз редактировалось Ult1m; 19.09.2010 в 17:44. |
19.09.2010, 18:11 | #6 | |
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Перед первым Repeat ставите
Код:
randomize - исключение повтора значений ГСЧ. Цитата:
- тут уже логика работы Вашего приложения. Память под дин. массив соответственно выделяется динамически. И все действия с дин. массивами происходят медленнее, чем со статическими. Возьмите любой нормальный учебник по Pascal/Delphi или найдите в Ин-те.
Темы для WordPress. Русские WordPress шаблоны
Последний раз редактировалось Alexei91; 19.09.2010 в 18:17. |
|
19.09.2010, 18:31 | #7 |
Новичок
Джуниор
Регистрация: 19.09.2010
Сообщений: 5
|
значения должны повторятся, поэтому и используется первый массив, из которого они исключаются. и когда нечего будет исключать - тогда завершение программы.
немного упростил программу, убрал второй repeat. выдает 1 всегда. остальные элементы массива 2 равны 0. Код:
Последний раз редактировалось Ult1m; 19.09.2010 в 19:35. |
20.09.2010, 21:52 | #8 |
Новичок
Джуниор
Регистрация: 19.09.2010
Сообщений: 5
|
решение найдено
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает программа | looloo | Помощь студентам | 0 | 27.05.2010 21:53 |
не работает программа | Rusic | Общие вопросы C/C++ | 2 | 19.05.2010 23:16 |
Не работает программа | ddr9225 | Общие вопросы C/C++ | 21 | 14.01.2010 14:06 |
Программа не работает | ZYRGiX | Помощь студентам | 2 | 22.07.2008 21:44 |
Программа не работает | Михаил Юрьевич | Общие вопросы Delphi | 2 | 19.04.2008 23:27 |