Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var
- n, cnt: word;
- s: string;
- mas: array[1..100] of string;
- d: array[1..100] of boolean;
- pvt: boolean; pvtnm: char;
- procedure draw(const count: word);
- var
- i: word; toDraw: boolean;
- begin
- for i := 1 to n do
- begin
- if count = cnt then s := '';
- if (pvt = true) then toDraw := false else toDraw := d[i];
- if (toDraw = false) then
- begin
- s := s + mas[i];
- d[i] := true;
- if count = 1 then write(s, ' ') //writerzm
- else draw(count - 1);
- s[0] := chr(ord(s[0]) - length(mas[i]));
- d[i]:=false;
- end;
- end;
- end;
- procedure work(const n: word);
- var
- i: word;
- begin
- for i := 1 to n do
- begin
- writeln('Введите ', i, ' элемент');
- readln(mas[i]); d[i] := false;
- end;
- writeln('Введите количество размещений');
- readln(cnt);
- writeln('---');
- draw(cnt);
- end;
- function getNums(n, cnt: integer): LongInt;
- var num: longint; i: integer;
- begin
- num := 1;
- case pvt of
- false: for i := n downto cnt do num := num * i;
- true: for i := 1 to cnt do num := num * n;
- end;
- getNums := num;
- end;
- begin
- clrscr;
- writeln('1 - с повторениями, иначе - без');
- readln(pvtnm);
- if (pvtnm = '1') then pvt := true else pvt := false;
- writeln('Введите кол-во элементов');
- readln(n);
- work(n);
- writeln;
- writeln('Количество: ', getNums(n, cnt));
- writeln('Программа завершена. Нажмите любую клавишу...');
- readkey;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement