IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Рандомизатор, Как рандомизировать текст?
Venik
сообщение 8.03.2006 22:13
Сообщение #1


Гость






И снова здрасьте! smile.gif Я вот знаю, что можно "рандомизировать" вывод чисел на экран. А можно сделать тоже самое со словами? Т.е. чтобы слова выводились в разном порядке. Заранее спасибо. give_rose.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 8.03.2006 22:16
Сообщение #2


Гость






Занести слова в массив и выводить по случайно сгенерированному индексу не пойдет? unsure.gif
 К началу страницы 
+ Ответить 
Гость
сообщение 8.03.2006 22:58
Сообщение #3


Гость






Хе-хе, а как именно, можешь код написать?
 К началу страницы 
+ Ответить 
volvo
сообщение 8.03.2006 23:00
Сообщение #4


Гость






Цитата(Правила Раздела)
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ - для этого есть отдельный раздел!
Если хочешь - перенесу в "Задачи"...
 К началу страницы 
+ Ответить 
Гость
сообщение 8.03.2006 23:16
Сообщение #5


Гость






Ну давай. И соседнюю темку, если можно, плз.
 К началу страницы 
+ Ответить 
Романтик
сообщение 9.03.2006 14:38
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


если умеешь работать с числами, то предлагаю такой вариант:
по табоице аски выбираешь диапазон букв, а точнее их кодов, рандомишь, а потом переводишь коды в буквы.


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 9.03.2006 15:09
Сообщение #7


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


James_Bond, автору нужен текст, а не набор беспорядочных символов, в следущий раз читай предыдущие посты.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Романтик
сообщение 9.03.2006 15:49
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


извиняюсь. unsure.gif


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 16:48
Сообщение #9


Гость






Ну так что, неужели никто не знает?
 К началу страницы 
+ Ответить 
Романтик
сообщение 9.03.2006 19:13
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


тебе же volvo ответил. mad.gif


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 19:54
Сообщение #11


Гость






Ну я если честно, с массивами плоховато, не смотря на то, что по книжке пытался с ними разобратся. Поэтому, попросил перенести тему в раздел "Задачи", чтобы кто-нибудь написал мне код. Вот.
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 19:57
Сообщение #12


Гость






PS: А с индексами я вообще не знаком! Так что проявите пожалуйста состродание, напишите код!
 К началу страницы 
+ Ответить 
klem4
сообщение 9.03.2006 19:59
Сообщение #13


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Гость, если плохо умеешь работать с массивами, то сходи сюда : FAQ : Массивы, матрицы, типичные задачи и воспользуйся поиском, очень много задач решено на массивы.

James_Bond Ты за собой следи. dry.gif

Сообщение отредактировано: klem4 - 9.03.2006 20:00


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 21:44
Сообщение #14


Гость






Ну я написал. Значит, вот.
После Uses CRT и перед Var я вставил
Код
Const
C : Array[1..2] of String=('Слово01','Слово02');

Потом, в текст программы добавил
Код

Randomize;
Random (C);
WriteLN (C);
End;

Таким образом я инициализировал массив, состоящий из двух позиции: Слово01 и Слово02. Потом, в программе, при определённом условии начинается рандомизация. Сначала она инициализируется, а потом начинает рандомизировать C (т.е. массив, состоящий из двух позиции). Потом программа должна вывести C (массив) и рандомизация закончится. Но при попытке скомпилировать Паскаль выдаёт ошибку 38. Что я неправильно сделал?
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 21:46
Сообщение #15


Гость






Забыл сказать, программа ругается на © (ну, указывает на © и выдаёт ошибку).
 К началу страницы 
+ Ответить 
volvo
сообщение 9.03.2006 22:13
Сообщение #16


Гость






Вот так переделай программу:
Var ix: integer;
begin
Randomize;
ix := Random(2) + 1; { 1 <= ix <= 2 }
WriteLn(C[ix]); { Я же говорил - ИНДЕКСЫ должны быть случайны ... }
end;

Но это будет печатать ТОЛЬКО одно случайное слово, если тебе надо ВСЕ слова массива распечатать в случайном порядке, то это делается немного иначе:

...
can_use := []; { здесь будут храниться значения, которые еще можно использовать }
for i := 1 to n do can_use := can_use + [i];

{
Заполняешь массив такой же размерности,
как и массив слов случайными значениями:
}
for i := 1 to n do begin
repeat
X := random(n) + 1;
until X in can_use;
ix[i] := X; can_use := can_use - [X];
end;

{ И потом распечатываешь ВЕСЬ массив сразу: }
for i := 1 to n do
writeln(C[ix[i]]);
...
 К началу страницы 
+ Ответить 
Гость
сообщение 9.03.2006 22:57
Сообщение #17


Гость






Спасибо, добрейшей души человек! Мне понадобился первый способ, но второй я тоже на всякий пожарный сохраню! ;) Я переделал свою прогу и всё заработало. Ещё раз спасибо!
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.04.2024 9:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"