| 
| 
 | Вопрос # 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: Статус вопроса изменён на решённый (изменил автор вопроса — Кудя) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |