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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 17:20   #1
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию проблема с массивом

Ребят, пожалуйста, 3й день парюсь. Помогите решить проблему с массивом. Допустим есть массив из 3 элементов. Его нужно заполнить числами 1, 2, 3, которые берутся случайно. a:=1+random(3) Как написать проверку, чтобы если выпавшее случайное число уже находится в массиве, заново бралось случайно число до тех пор, пока не попадется такое, которого еще нет в массиве?
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 18.01.2013, 17:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Полным проходом по массиву.
Код:
for i:=Low(массив) to high(массив) do
 if массив[i]=число then begin Такое число уже есть; break; end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2013, 20:17   #3
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Спасибо. А как мне сделать так, чтобы происходило не прерывания цикла, а автоматически генерировалось новое число до тех пор, пока не найдется число, которого еще нет в массиве?
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 23.01.2013, 21:27   #4
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

ну помогите кто-нибудь!)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 23.01.2013, 21:39   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот так:
Код:
b:=false;
while not b do begin
Генерируем число;
b:=true;
for i:=Low(массив) to high(массив) do
 if массив[i]=число then begin b:=false; break; end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2013, 22:52   #6
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Огромное тебе спасибо. Очень выручил, я вроде и немного знаю делфу, но как то не получилось этот агоритм самостоятельно) пробелмы с массивами появились откуда то)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 23.01.2013, 23:24   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Щит хапенин )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с массивом Muvvka C++ Builder 3 29.07.2012 04:23
Проблема с массивом logo23 Паскаль, Turbo Pascal, PascalABC.NET 8 03.05.2012 21:42
проблема с массивом и бд hunter03 Помощь студентам 4 16.10.2011 17:57
Проблема с массивом... СтуденткаПитер Помощь студентам 3 09.06.2011 00:11
Проблема с массивом Акашаев Нурлан PHP 2 23.11.2008 14:45