M1RAI

conv_file

Nov 26th, 2019
119
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program conv-fich;
  2. uses wincrt;
  3. type
  4. eng =RECORD
  5. Nombre:longint;
  6. ch:string;
  7. end;
  8. mat=array of [1..4,1..4] of integer;
  9. fich=file of eng;
  10. var
  11. fs:text;
  12. fr:fich;
  13. M:mat;
  14.  
  15. procedure transfert(var fs:text ; var M:mat) ;
  16. var l,c:byte;
  17. x,e:integer;
  18. begin
  19.     reset(fs);
  20.     for l:=1 to 4 do
  21.     begin
  22.         readln(fs,x);
  23.         x:=x+' ';
  24.         for c:=1 to 4 do
  25.         begin
  26.         while (x<>'') do
  27.         begin
  28.             val(copy(x,1,pos(' ',x)-1),M[l,c],e);
  29.             delete(x,1,pos(' ',x));
  30.         end;
  31.         end;
  32.     end;
  33.     close(fs);
  34. end;
  35.  
  36. Function verif(x:longin;i:longint):boolean;
  37. Begin
  38.     if (x mod i=0)
  39.     then verif:=false;
  40.     else if(i > (x div 2))
  41.     then verif:=true;
  42.     else verif:=verif(x,i-1);
  43. end;
  44.    
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. procedure conv(var fr:fich; M:mat);
  53. var
  54. l,c,e:integer;
  55. x:eng;
  56. chh,chain:string;
  57. begin
  58.     ReWrite(fr);
  59.     for c:=1 to 4 do
  60.         chain:='';
  61.         chh:='';
  62.     begin
  63.         for l:=1 to 4 do
  64.         Begin
  65.             with x do
  66.             begin
  67.                     str(M[l,c],chain);
  68.                     chh:=chh+chain;
  69.                     val(chh,nombre,e);
  70.                     if verif(nombre,2)
  71.                     then ch:='Nombre premier';
  72.                     else ch:='Nombre non-premier';
  73.              end;
  74.               write(fr,x) ;
  75.           end;
  76.      close(fr);
  77.      end;
  78.        
  79.        
  80.     begin
  81.         assign(fs,'C:\bac2019\Source.txt);
  82.         assign(fr,'C:\bac2019\Resultat.dat');
  83.         transfert(fs,M);
  84.         conv(fr,M);
  85.    end;
RAW Paste Data