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

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

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

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


Гость






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


Гость






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


Гость






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


Гость






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


Гость






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


Бывалый
***

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

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


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


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


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

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

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


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


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


Бывалый
***

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

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


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


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


Гость






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


Бывалый
***

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

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


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


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


Гость






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


Гость






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


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

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

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


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

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

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


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


Гость






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

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

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

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


Гость






Забыл сказать, программа ругается на © (ну, указывает на © и выдаёт ошибку).
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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]]);
...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






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

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

 



- Текстовая версия 15.04.2025 12:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name