Другие языки программирования и технологии

нужен генератор двоичного кода (Pascal)

Пожалуйста дайте код генератора 5 битного двоичного кода. С записью в фаил и проверкой на повторы. Заранее спасибо!
ВМ
Ваня Михов
73 469
Лучший ответ
Типа этого:
Задачу надо описывать понятно. Длина файла какая?
Tiran Tiranov
Tiran Tiranov
77 402
Не встречал такого. Видно его делать тебе придется.
Но подожди других ответивших, может у них есть, может им делать нечего и тебе сделают.
Ну и желательно тогда описать задачу лучше: в файл записано будет в текстовом виде 00001 или бинарном побайтно? Проверка просто говорит или показывает и тд... короче с тем, кто захочет за тебя делать и договаривайся конкретней или сама бы делала.

"Ну то есть 00100 и 00100 не могут быть записаны"
Ну значит подряд не могут, а вот так могут?
00100
01100
00100
01100

Если так могут, то надо задавать длину генерируемой последовательности и ничего тогда сложного в таком коде нет.
5битного двоичного кода - это числа от 0 до 31
Сгенерируйте массив в 32 элемента с записями - 0, 1, 2, 3, ..30, 31.
Потом стандартным генератором в цикле генерируйте индекс в промежутке от нуля до i, где i - каждую итерацию будет уменьшаться.
Выбрали индекс - сдвигаем все элементы правее на 1 влево.
Вот и весь генератор.
Если это задание по дискретной математике - то такое решение не годиться. нужно писать именно свой генератор используя определенный полином. (в интернете теории полно по этому)
П. С. Разумееться для вывода в файл нужно будет еще переводить сгенерированное число в двоичную систему, то что я описал Вам выше - это было чисто для генерации без повторов.
П. С. С. Реализовал бы, да только я противник мертвых языков. Засорять просторы интернета кодом мертвого языка не буду. (Хотя чего уж там, давным давно я это писал, код на С++ с использованием стандартных rand() и srand(time(0)); )
Непонятно. Перебор всех пятибитных двоичных кодов, что ли?

var i,j:integer; f:text;
begin
assign(f,'file.txt'); rewrite(f);
for i:=0 to 31 do begin for j:=0 to 4 do write(f,i shr j and 1); writeln(f) end; close(f);
end.
Юра Онуфер
Юра Онуфер
174