Слова перемешать наугад без повторов - Pascal ABC

Формулировка задачи:

Дано n кол-во слов. Нужно перемешать их наугад без повторений и вывести. Если возможно в 3 столбика


textual

Код к задаче: «Слова перемешать наугад без повторов - Pascal ABC»

uses crt;
const max=50;
var a:array[1..max] of string[6];
    b:array[1..max] of integer;
    m,i,j,p,x:integer;
begin
randomize;
repeat
write('Количество слов до ',max,' m=');
readln(m);
until m in [1..max];
writeln('Введите ',m,' слов от 1 до 6 символов');
for i:=1 to m do
readln(a[i]);
clrscr;
writeln('Масcив слов');
for i:=1 to m do
write(a[i]:8);
writeln;
{создадим массив чисел от 1 до m}
for i:=1 to m do
b[i]:=i;
{перемешаем его случайно}
for i:=m downto 2 do
 begin
  j:=random(i)+1;
  x:=b[i];
  b[i]:=b[j];
  b[j]:=x;
 end;
writeln('Перемешанный массив в 3 столбца');
for i:=1 to m do
 begin
  write(a[b[i]]:8);
  if i mod 3=0 then writeln;
 end;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

8   голосов, оценка 4.125 из 5

Источник