fork(14) download
  1. Program Chaines_inverses;
  2. Type Tab=Array [1..100] of String [50];
  3. Var p, q : Tab;
  4. i, n : Integer;
  5. (*********************************)
  6. Procedure
  7. saisie_entier (Var m : Integer);
  8. Begin
  9. Repeat
  10. Writeln ('Donner un entier');
  11. Readln (m);
  12. Until (1<m) and (m<100);
  13. End;
  14. (*************************************)
  15. Procedure saisie_tab (m : Integer; Var T : Tab);
  16. Var i, j : Integer;
  17. test : Boolean;
  18. Begin
  19. For i:=1 To m Do
  20. Repeat
  21. Writeln ('Donner l''élément d''ordre ', i);
  22. Readln (T[i]);
  23. j:=0;
  24. test:=True;
  25. While (test=True) and (j<Length (T[i])) Do
  26. Begin
  27. j:=j+1;
  28. If Not (T [i, j] in ['0'..'9']) Then test:=False;
  29. End;
  30. Until (test=True) and (T[i] <>'');
  31. End;
  32. (***************************************)
  33. Function inverse (ch : String) : String;
  34. Var i : Integer;
  35. chinv : String;
  36. Begin
  37. chinv:='';
  38. For i:=Length (ch) Downto 1 Do chinv:=chinv+ch[i];
  39. inverse:=chinv;
  40. End;
  41. (***********************************)
  42. Procedure Affiche_tab (m : Integer; T : Tab);
  43. Var i : Integer;
  44. Begin
  45. For i:=1 To m Do
  46. Write (T[i], ' ');
  47. End;
  48. (***************** P.P *********************)
  49. Begin
  50. saisie_entier (n);
  51. saisie_tab (n, p);
  52. For i:=1 To n Do
  53. q[i] := inverse (p[i]);
  54. affiche_tab (n, q);
  55. End.
Success #stdin #stdout 0s 296KB
stdin
3
2
9
7
stdout
Donner un entier
Donner l'élément d'ordre 1
Donner l'élément d'ordre 2
Donner l'élément d'ordre 3
2 9 7