lonsomehell

tri

May 20th, 2012
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.27 KB | None | 0 0
  1. program tri_tab;
  2. uses wincrt;
  3. type
  4. tab=array [1..20] of integer ;
  5. var
  6. t1,t2:tab;
  7. ch:string;
  8. n,e,i:integer;
  9.  
  10. procedure saisie(var t:tab;z:integer);
  11. var
  12. c1:string;
  13. begin
  14. for i:=2 to z do
  15. begin
  16. repeat
  17. writeln('entrer le premier nombre');
  18. readln(t[1]);
  19. str(t[1],c1);
  20. until length(c1)=5;
  21. repeat
  22. writeln('entrer l element: ',i);
  23. readln(t[i]);
  24. str(t[i],ch);
  25. until (length(ch)=5) and (ch[1]=c1[1]);
  26. end;
  27. end;
  28.  
  29. procedure permut_t(var z,y:integer);
  30. var
  31. ex:integer;
  32. begin
  33. ex:=z;
  34. z:=y;
  35. y:=ex;
  36. end;
  37.  
  38. procedure permut_c(var z,y:char);
  39. var
  40. ex:char;
  41. begin
  42. ex:=z;
  43. z:=y;
  44. y:=ex;
  45. end;
  46.  
  47.  
  48. function tri_n(z:integer):integer;
  49. var
  50. ver:boolean;
  51. begin
  52. str(z,ch);
  53. repeat
  54. ver:=false;
  55. for i:=1 to (length(ch)-1) do
  56.  
  57. if ch[i]<ch[i+1] then
  58. begin
  59. permut_c(ch[i],ch[i+1]);
  60. ver:=true;
  61. end;
  62. until ver=false;
  63.  
  64. val(ch,tri_n,e);
  65. end;
  66.  
  67.  
  68. procedure tri_t(var t:tab;z:integer );
  69. var
  70. j,min:integer;
  71. begin
  72. for i:=1 to (z-1) do
  73. min:=i;
  74. for j:=i+1 to z do
  75. if t[j]<t[min] then
  76. begin
  77. permut_t(t[j],t[min]);
  78. min:=j;
  79. end;
  80. end;
  81.  
  82. begin
  83. repeat
  84. writeln('donner la longueur n');
  85. readln(n);
  86. until n in [5..20];
  87. saisie(t1,n);
  88. for i :=1 to n do
  89. begin
  90. t1[i]:=tri_n(t1[i]);
  91. end;
  92. tri_t(t1,n);
  93. for i:=1 to n do
  94. writeln('l element ',i,' a pour valeur',t1[i]);
  95.  
  96. end.
Advertisement
Add Comment
Please, Sign In to add comment