Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 764

Раздел: Delphi » Прочее
/ вопрос решён /

Здравствуйте уважаемые эксперты! Как сделать так, чтобы символы в массиве были случайными?

Приложение:
  1.  


Кудя Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Кудя (статус: Посетитель)
Вопрос отправлен: 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

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

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

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: Статус вопроса изменён на решённый (изменил автор вопроса — Кудя)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:36
Выполнено за 0.03 сек.