Program Palette;
Type
tab = Array[1..20] Of Integer;
mat = Array[1..20,1..10] Of Integer;
Var
i,j,n : Integer;
f2,f : Text;
m : mat;
l,c : Integer;
ch : String;
t : tab;
Procedure tri_rapide(d,f:Integer; Var t:tab);
Var
i,p,x,m : Integer;
Begin
If (f>d) Then
Begin
m := (d+f) Div 2;
x := t[m];
t[m] := t[d];
t[d] := x;
p := d;
For i:=d+1 To f Do
If (t[i]<t[d]) Then
Begin
p := p+1;
x := t[i];
t[i] := t[p];
t[p] := x;
End;
x := t[p];
t[p] := t[d];
t[d] := x;
tri_rapide(d,p-1,t);
tri_rapide(p+1,f,t);
End;
End;
Procedure transfert2(m:mat;l,c:Integer;Var f2:Text);
Var
v : String;
k : Integer;
t : tab;
Begin
Rewrite(f2);
For i:=1 To 10 Do
Begin
For j:=1 To l Do
t[j] := m[j,i];
tri_rapide(1,l,t);
For j:=1 To l Do
m[j,i] := t[j];
End;
For i:=1 To l Do
Begin
ch := '';
For j:=1 To 10 Do
Begin
Str(m[i,j],v);
ch := ch+v+' ';
End;
Writeln(f2,ch);
End;
Close(f2);
End;
Procedure affichef(Var a:Text);
Begin
Reset(a);
While (Not(Eof(a))) Do
Begin
Readln(a,ch);
Writeln(ch);
End;
Close(a);
End;
Procedure transfert(Var m:mat;Var l,c:Integer; Var f:Text);
Var
i,j,x,e : Integer;
k,ch : String;
Begin
Reset(f);
k := '';
l := 0;
c := 10;
While (Not(Eof(f))) Do
Begin
Readln(f,ch);
l := l+1;
k := k+ch;
End;
While (Pos(' ',k)<>0) Do
Begin
Delete(k,Pos(' ',k),1);
End;
For i:=1 To l Do
Begin
For j:=1 To c Do
Begin
Val(Copy(k,1,Pos(' ',k)-1),x,e);
m[i,j] := x;
Delete(k,1,Pos(' ',k));
End;
End;
Close(f);
End;
Begin
Assign(f,'source.txt');
Assign(f2,'resultat.txt');
transfert(m,l,c,f);
transfert2(m,l,c,f2);
affichef(f2);
End.
Inscription à :
Publier les commentaires (Atom)