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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2012, 17:09   #1
unreal2x
Пользователь
 
Аватар для unreal2x
 
Регистрация: 22.01.2012
Сообщений: 39
Радость Работа с массивом / Delphi

Всем привет. Нужна помощь... Не пойму как сделать так, чтоб отображалось не одно сообщение, а все 3 (или сколько будет в массиве) по очереди в случайном порядке...

Код:
procedure TForm1.Button3Click(Sender: TObject);
const
N=3;
Arr:array[1..N] of string=(
'Первая',
'Вторая',
'Третье'
);
var
i:integer;
begin
i:=1+Random(N);
showmessage(Arr[i]);
end;
no sleep.
unreal2x вне форума Ответить с цитированием
Старый 17.04.2012, 17:18   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цикл нужен.
=master= вне форума Ответить с цитированием
Старый 17.04.2012, 17:24   #3
unreal2x
Пользователь
 
Аватар для unreal2x
 
Регистрация: 22.01.2012
Сообщений: 39
По умолчанию

Спасибо! Разобрался...
no sleep.

Последний раз редактировалось unreal2x; 17.04.2012 в 17:27.
unreal2x вне форума Ответить с цитированием
Старый 17.04.2012, 17:27   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А где "случайный порядок". как в условии?
=master= вне форума Ответить с цитированием
Старый 17.04.2012, 17:27   #5
unreal2x
Пользователь
 
Аватар для unreal2x
 
Регистрация: 22.01.2012
Сообщений: 39
По умолчанию

Вот я тут и задумался...)) что то вроде этого showmessage(Arr[1+Random(N)]); Но фишка в том что генерит Первое-Второе-Первое.
а Третье выпало...
no sleep.

Последний раз редактировалось unreal2x; 17.04.2012 в 17:30.
unreal2x вне форума Ответить с цитированием
Старый 17.04.2012, 20:51   #6
SlavaSSU
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 46
По умолчанию вот написал, только при больших n думаю долго будет работать

Код:
var
a:array[1..1000] of string;
b:array[1..1000] of byte;
i,n,kol,tek:integer;
begin 
randomize;
writeln('vvedite kolichestvo slov');
readln(n);
writeln('vvedite ',n,' slov');
for i:=1 to n do begin b[i]:=0; readln(a[i]); end;
for kol:=1 to n do begin
tek:=random(n)+1;
while (b[tek]=1) do tek:=random(n)+1;
writeln(a[tek]);
b[tek]:=1;
end;
end.
НИУ СГУ им. Чернышевского
SlavaSSU вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивом/строкой символов, преобразование символа с число. (Pascal, Delphi) Савва Помощь студентам 8 29.01.2012 12:27
работа с 2D массивом delphi Almi Помощь студентам 5 26.11.2010 16:29
Работа с массивом ZOHAN Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 16.04.2010 01:20
работа с массивом Андрей.12 Помощь студентам 2 22.10.2009 00:25
Delphi, работа с массивом Skay Помощь студентам 2 05.04.2007 16:50