program nposledov;
{$APPTYPE CONSOLE}
uses
SysUtils,windows;
const n=3;
k=2;
type
TElem=integer;
TArr=array[1..n] of TElem;
TPrr=array[1..k] of TElem;
var
j,i,p: TElem;
Arr: TArr;
Prr: TPrr;
procedure nposled (var Ar:TArr; Pr: TPrr; p: TElem);
var i,j: integer;
begin
if p=n then begin
for i:=1 to n do begin
write(Arr[i])
end;
writeln
end
else begin
for j:=1 to k do begin
p:=p+1;
Ar[p]:=Ar[j];
nposled(Ar,Pr,p);
p:=p-1;
end;
end
end;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
p:=0;
writeln('введтие числа, из которых хотите получить последовательности');
for j:=1 to k do
readln(Prr[j]);
nposled(Arr,Prr,p);
readln
end.
Выводятся все послед-ти вкл. парные (11, 666 и т.п.) . Их надо исключить. Не могу понять как это сделать. подскажите пожалуйста.
да и код, чувствуется, очень грязный и неккоректный.
М | Просьба использовать правильные теги. Исправлено |