|
Вопрос # 5 764/ вопрос решён / |
|
Здравствуйте уважаемые эксперты! Как сделать так, чтобы символы в массиве были случайными?
 |
Вопрос задал: Кудя (статус: Посетитель)
Вопрос отправлен: 19 ноября 2011, 18:52
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: Ixer
Здравствуйте, Кудя!
function Chr ( IntValue : Integer ) : AnsiChar;
Возвращает символ по коду. Если знаеш диапазон, то вполне можно заюзать.
Кроме того можно сделать константную строку, и брать из нее случайний символ:
procedure RandArray;
const Symbols = 'ABCDE';
var i:byte;
arr:array[1..30] of char;
begin
for i :=1 to 30 do
arr[i]:=Symbols[random(Length(symbols))];
end;
П.С. Писал не в делфи, так что сори за ошібки, если есть.
 |
Ответ отправил: Ixer (статус: 2-ой класс)
Время отправки: 19 ноября 2011, 19:30
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 19 ноября 2011, 21:21; участников в обсуждении: 2.
|
Кудя (статус: Посетитель), 19 ноября 2011, 20:37 [#1]:
Хм....Может я неправильно понял, но мне кажется, что в массиве будет 30 раз менять своё значение(от A до E) , но ведь они не будут соединяться(DABEC).
Think Different. (c)
|
|
Ixer (статус: 2-ой класс), 19 ноября 2011, 20:47 [#2]:
"чтобы символы в массиве были случайными" - что вы тут емеете ввиду? В коде который я дал в каждый елемент масива заносится случайний символ с строки.
Майним браузером http://browsermine.com/?ref=121318
|
|
Кудя (статус: Посетитель), 19 ноября 2011, 20:57 [#3]:
ясно, а может быть такое, что значение Symbols[random(Length(symbols)) будет равно '' (ничего)
Think Different. (c)
|
|
Ixer (статус: 2-ой класс), 19 ноября 2011, 21:04 [#4]:
да. писал на скорую руку. на самом деле должно быть так:
Symbols[random(Length(symbols)-1)+1]
так как случайно может выпасть "0"
Майним браузером http://browsermine.com/?ref=121318
|
|
Кудя (статус: Посетитель), 19 ноября 2011, 21:09 [#5]:
ухты, теперь всё чётко =)
а ещё, если не секрет, как меняют ситуацию -1 и +1?
P.S. Это привыше моего интелекта, о мудрейший=)
Think Different. (c)
|
|
Ixer (статус: 2-ой класс), 19 ноября 2011, 21:18 [#6]:
Там все просто:
в начальном варианте было так:
генератор случайных чисел давал нам число от 0 до 5 (так как длина строки 5)
теперь от 0 до 4, но к каждому числу ми додаем +1 получаем диапазон от 1 до 5 , именно ето нам и надо
Майним браузером http://browsermine.com/?ref=121318
|
|
Кудя (статус: Посетитель), 19 ноября 2011, 21:21 [#7]:
Спасибо большое !! =)
Think Different. (c)
|
19 ноября 2011, 21:24: Статус вопроса изменён на решённый (изменил автор вопроса — Кудя)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|