lonsomehell

Untitled

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