Advertisement
Arfizato

yosr

May 25th, 2020
1,757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.22 KB | None | 0 0
  1. program pp;
  2. uses wincrt;
  3. Type
  4. mat=Array[1..100,1..100] of byte;
  5.  
  6. var
  7. f:text;
  8. m:mat;
  9. mo:string;
  10. n,l:Byte;
  11.  
  12.  
  13. Function alpha (ch:string):Boolean;
  14. var
  15. i:byte;
  16. begin
  17. i:=0;
  18. Repeat
  19. i:=i+1;
  20. until(not(Upcase (ch[i]) in ['A'..'Z'])) or (i=Length(ch));
  21. alpha:=Upcase(ch[i]) in ['A'..'Z'];
  22. end;
  23.  
  24. procedure remp (var mo:string;n:byte) ;
  25. Var i:byte;
  26. Begin
  27. repeat
  28. writeln ('donner le nombre de mots a chercher:');
  29. Read(n);
  30. until n in [1..10];
  31. for i:=1 to n do
  32. repeat
  33. write ('donner le mot n',i,':');
  34. readln (mo[i]);
  35. until (Length(mo[i]>0) and (alpha(mo[i])=true)
  36. end;
  37.  
  38. procedure former( var m:mat;mo:string;n:byte;l:byte; f:text) ;
  39.  Var
  40.  c,b:byte;
  41.  ch,l:string;
  42.  d:text;
  43. begin
  44. reset(f);
  45. l:=0;
  46. while not Eof(f) do
  47. readln(f,ch);
  48. Assign (d,ch);
  49. l:=l+1;
  50. for c:=1 to n do
  51. reset (d);
  52. b:=0;
  53. while not eof(d) Do
  54. readln (d,b);
  55. if pos (mo[c],b)>0 then b:=b+1
  56. m[l,c]:=b;
  57. close(d);
  58. close(f);
  59. end;
  60.  
  61.  
  62.  
  63. Procedure affich (m:mat;mo:string;n,l:byte;var f:text);
  64. var
  65. i,j:integer;
  66. ch:string;
  67. Begin
  68. for j:=1 to n Do
  69. write (mo[j],':');
  70. reset(f);
  71. for i:=1 to l Do
  72. readln (f,ch);
  73. if m[i,j]>0 then
  74. write (ch,'');
  75. end;
  76.  
  77.  
  78.  
  79. Begin
  80. Assign (f,'chemin.txt');
  81. remp (mo,n);
  82. former (m,mo,n,l,f);
  83. affich(m,mo,n,l,f);
  84. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement