Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {https://cdn.discordapp.com/attachments/850372791802265650/850378322818891787/20210604_151639.jpg}
- Program bac21;
- Uses Wincrt;
- Type
- mat = Array [1..1000,1..1000] Of Char;
- Var
- f1,f2: Text;
- nbl,m,n: Integer;
- t: mat;
- Procedure remplir_f (Var f:Text;Var nbl:Integer);
- Var
- ch: String;
- Begin
- Rewrite (f);
- nbl := 0;
- Repeat
- Writeln ('Saisir une ligne: ');
- Readln (ch);
- if (ch<>'') Then
- begin
- Writeln (f,ch);
- nbl := nbl+1;
- end;
- Until (ch='');
- Close (f);
- End;
- Function premier (n:Integer): Boolean;
- Var
- i,r: Integer;
- Begin
- r := 0;
- For i:=1 To n Do
- If (n Mod i=0) Then
- r := r+1;
- premier := r=2;
- End;
- Procedure saisie (Var m:Integer);
- Begin
- Repeat
- Write ('Saisir M: ');
- Readln (m);
- Until (premier(m)=False) And (10<=m) And (m<=50);
- End;
- Procedure remplir_m (Var f:Text;Var t:mat;var n:integer;m,nbl:Integer);
- Var
- ch,ch1: String;
- nbc,i,j,x: Integer;
- Begin
- Reset (f);
- nbc := 0;
- ch := '';
- While Not (Eof(f)) Do
- Begin
- Readln (f,ch1);
- nbc := nbc+Length(ch1);;
- ch := ch+ch1+'#';
- End;
- n := (nbc+nbl) Div m;
- If (nbc+nbl) Mod m<>0 Then
- n := n+1;
- Close (f);
- Delete (ch,Length(ch),1);
- While ((Length(ch) Mod (n*m))<>0) Do
- ch := ch+'*';
- x:=0;
- For i:=1 To n Do
- For j:=1 To m Do
- begin
- x:=x+1;
- t[i,j] := ch[x];
- end;
- End;
- procedure remplir_f2 (var f:text;t:mat;n,m:integer);
- Var
- i,j:integer;
- ch:string;
- Begin
- rewrite (f);
- for i:=1 to m Do
- begin
- ch:='';
- for j:=1 to n Do
- ch:=ch+t[j,i];
- writeln (f,i,' ',ch);
- end;
- close (f);
- 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/textinit.txt');
- Assign(f2,'c:/bac/resultat.txt');
- remplir_f (f1,nbl);
- saisie (m);
- remplir_m (f1,t,n,m,nbl);
- remplir_f2 (f2,t,n,m);
- affiche (f2);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement