Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac2018;
- Uses Wincrt;
- Type
- tab = Array [1..20,1..10] Of Integer;
- Var
- f1,f2: Text;
- t: tab;
- n: Integer;
- Procedure creation (Var f1,f2:Text);
- Begin
- Assign (f1,'c:\bac\source.txt');
- Assign (f2,'c:\bac\resultat.txt');
- End;
- Procedure ligne (Var t:tab;ch:String;i:Integer);
- Var
- j,x,e: Integer;
- Begin
- ch := ch+' ';
- j := 0;
- Repeat
- j := j+1;
- Val (Copy(ch,1,Pos(' ',ch)-1),x,e);
- t[i,j] := x;
- Delete (ch,1,Pos(' ',ch));
- Until (ch='') Or (j=10);
- End;
- Procedure remplir (Var f1:Text;Var t:tab;Var i:Integer);
- Var
- ch: String;
- Begin
- Reset (f1);
- i := 0;
- While Not(Eof(f1)) Do
- Begin
- i := i+1;
- Readln (f1,ch);
- ligne (t,ch,i);
- End;
- Close (f1);
- End;
- Procedure tri_insert (Var t:tab;l,c:Integer);
- Var
- j,aux,i: Integer;
- Begin
- For i:=2 To l Do
- Begin
- j := i;
- aux := t[i,c];
- While (j>1) And (aux<t[j-1,c]) Do
- Begin
- t[j,c] := t[j-1,c];
- j := j-1;
- End;
- t[j,c] := aux;
- End;
- End;
- Procedure traitement (Var f2:Text;Var t:tab;i:Integer);
- Var
- j,n: Integer;
- x,ch: String;
- Begin
- For j:=1 To 10 Do
- tri_insert (t,i,j);
- n := i;
- Rewrite (f2);
- For i:=1 To n Do
- Begin
- j := 0;
- ch:='';
- Repeat
- j := j+1;
- Str (t[i,j],x);
- ch := ch+x+' ';
- Until (j=10);
- Delete (ch,Length(ch),1);
- Writeln (f2,ch);
- End;
- Close (f2);
- End;
- Procedure affiche (Var f2:Text);
- Var
- ch: String;
- Begin
- Reset (f2);
- While Not (Eof(f2)) Do
- Begin
- Readln (f2,ch);
- Writeln (ch);
- End;
- Close (f2);
- End;
- Begin
- creation (f1,f2);
- remplir (f1,t,n);
- traitement (f2,t,n);
- affiche (f2);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement