Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {https://cdn.discordapp.com/attachments/850304726168109067/850306173491216434/d.png}
- Program exercice;
- uses wincrt;
- Type
- tab=array [1..1000] of integer;
- Var
- f1,f2:text;
- procedure remplir (var f:text);
- Var
- i,p:integer;
- Begin
- Repeat
- write ('Saisir P: ');
- readln (p);
- Until (4<=p) and (p<=100);
- rewrite (f);
- Randomize;
- for i:=1 to p Do
- writeln (f,random(1000)+1);
- close (f);
- end;
- procedure tri (var t:tab;n:integer);
- Var
- aux,i:integer;
- Begin
- Repeat
- for i:=1 to n-1 Do
- if t[i]<t[i+1] Then
- Begin
- aux:=t[i];
- t[i]:=t[i+1];
- t[i+1]:=aux;
- end;
- n:=n-1;
- Until (n=0);
- end;
- function suite (n:integer):string;
- Var
- ch,ch1:string;
- i:integer;
- Begin
- ch:='';
- i:=0;
- Repeat
- i:=i+1;
- if (n mod 2=0) Then
- n:=n div 2
- Else
- n:=3*n+1;
- str (n,ch1);
- ch:=ch+' '+ch1;
- Until (n=1);
- str (i,ch1);
- suite:=ch1+' '+copy(ch,2,Length(ch)-1);
- end;
- procedure traitement (var f1,f2:text);
- Var
- i,n:integer;
- t:tab;
- Begin
- reset (f1);
- while not (eof(f1)) Do
- Begin
- n:=n+1;
- readln (f1,t[n]);
- end;
- close (f1);
- tri (t,n);
- rewrite (f2);
- for i:=1 to n Do
- writeln (f2,t[i],': ',copy(suite(t[i]),pos(' ',suite(t[i]))+1,Length(suite(t[i]))-pos(' ',suite(t[i]))),'=',copy(suite(t[i]),1,pos(' ',suite(t[i]))-1));
- close (f2);
- end;
- procedure affiche (var f:text);
- Var
- ch:string;
- Begin
- reset (f);
- while not (eof(f)) Do
- Begin
- readln (f,ch);
- writeln (ch);
- end;
- close (f);
- end;
- Begin
- assign (f1,'c:\bac\ftimit.txt');
- assign (f2,'c:\bac\fsuite.txt');
- remplir (f1);
- traitement (f1,f2);
- affiche (f2);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement