|
Programme
CODES, solution du lauréat : Sami OUANNES
program codes;
uses wincrt;
type chaine=string[250];
matrix=array[1..8,1..8] of char;
var n:integer; ch:chaine;
procedure saisie(var
aa:integer);
begin
repeat Writeln('Donner n tel que 2<n<9');
Readln(aa); until aa in[3..8];
end;
procedure saisiec(var
cc:chaine);
begin
Writeln('Donner le texte à coder');
Readln(cc);
end;
procedure ajes(var
cc:chaine;nn:integer);
var i:integer;
begin
if (length(cc) mod sqr(nn))<>0 then begin
for i:=1 to(sqr(nn)-(length(cc) mod sqr(nn))) do
CC:=CC+' ';
end;
end;
procedure seekanddisplay(CH:chaine;nn:integer);
var i,j:integer;T:matrix;
begin
for i:=1 to nn do begin
for j:=1 to nn do begin
T[i,j]:= CH[(i-1)*nn+j];
end;
end;
for j:=1 to n do begin
for i:=1 to n do write(T[i,j]); end;
end;
procedure trait(cc:chaine;nn:integer);
var i:integer; ccc,ch:chaine;
begin
ccc:=cc;
repeat
ch:=copy(ccc,1,sqr(nn));
seekanddisplay(CH,nn);
delete(ccc,1,sqr(nn));
until ccc='';
end;
begin
saisie(n);
saisiec(ch);
ajes(ch,n);
trait(CH,n);
end.
|