Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. programa
  2. {
  3. inclua biblioteca Util --> ut
  4.  
  5. funcao inicio()
  6. {
  7. inteiro ouro[5]={6,5,3,5,5}
  8. inteiro prata[5]={1,2,6,4,2}
  9. inteiro bronze[5]={1,2,3,4,5}
  10. inteiro indices[5]
  11. para(inteiro i=0;i<5;i++){
  12. indices[i]=i
  13. }
  14.  
  15. para(inteiro i=0;i<5;i++){
  16. escreva(indices[i],"\t")
  17. }
  18. escreva("\n")
  19. para(inteiro i=0;i<5;i++){
  20. escreva(ouro[i],"\t")
  21. }
  22. escreva("\n")
  23. para(inteiro i=0;i<5;i++){
  24. escreva(prata[i],"\t")
  25. }
  26. escreva("\n")para(inteiro i=0;i<5;i++){
  27. escreva(bronze[i],"\t")
  28. }
  29. escreva("\n")
  30.  
  31. selectionSort(ouro,prata,bronze,indices)
  32. escreva("\n")
  33. para(inteiro i=0;i<5;i++){
  34. escreva(indices[i],"\t")
  35. }
  36. escreva("\n")
  37. para(inteiro i=0;i<5;i++){
  38. escreva(ouro[i],"\t")
  39. }
  40. escreva("\n")
  41. para(inteiro i=0;i<5;i++){
  42. escreva(prata[i],"\t")
  43. }
  44. escreva("\n")para(inteiro i=0;i<5;i++){
  45. escreva(bronze[i],"\t")
  46. }
  47. escreva("\n")
  48. }
  49.  
  50. funcao insertionSort(inteiro &ouro[],inteiro &prata[],inteiro &bronze[],inteiro &indice[]){
  51. inteiro tam = ut.numero_elementos(ouro)
  52.  
  53. para(inteiro i =0 ; i<tam ; i++){
  54. //sempre mantem o
  55. inteiro auxOuro = ouro[i]
  56. inteiro auxPrata = prata[i]
  57. inteiro auxBronze = bronze[i]
  58. inteiro auxIndice = indice[i]
  59. inteiro j=i
  60. enquanto(j>0 e ouro[j-1]>auxOuro ){
  61. ouro[j]=ouro[j-1]
  62. prata[j]=prata[j-1]
  63. bronze[j]=bronze[j-1]
  64. indice[j]=indice[j-1]
  65. j--
  66. }
  67. enquanto(j>0 e ouro[j-1]>=auxOuro e prata[j-1]>auxPrata ){
  68. ouro[j]=ouro[j-1]
  69. prata[j]=prata[j-1]
  70. bronze[j]=bronze[j-1]
  71. indice[j]=indice[j-1]
  72. j--
  73. }
  74.  
  75. enquanto(j>0 e ouro[j-1]>=auxOuro e prata[j-1]>=auxPrata e bronze[j-1]>auxBronze ){
  76. ouro[j]=ouro[j-1]
  77. prata[j]=prata[j-1]
  78. bronze[j]=bronze[j-1]
  79. indice[j]=indice[j-1]
  80. j--
  81. }
  82.  
  83. ouro[j] = auxOuro
  84. prata[j] = auxPrata
  85. bronze[j] = auxBronze
  86. indice[j] = auxIndice
  87. }
  88. }
  89.  
  90. funcao selectionSort(inteiro &ouro[],inteiro &prata[],inteiro &bronze[],inteiro &indice[]){
  91. inteiro tam = ut.numero_elementos(ouro)
  92.  
  93. para(inteiro i =0 ; i<tam ; i++){
  94. inteiro iMenor=i
  95. para(inteiro j = i+1;j<tam;j++){
  96. se(ouro[j] < ouro[iMenor])
  97. iMenor = j
  98. senao se(ouro[j] == ouro[iMenor] e prata[j] < prata[iMenor])
  99. iMenor = j
  100. senao se(ouro[j] == ouro[iMenor] e prata[j] == prata[iMenor] e prata[j] < prata[iMenor])
  101. iMenor = j
  102. }
  103. inteiro aux = ouro[i]
  104. ouro[i] = ouro[iMenor]
  105. ouro[iMenor] = aux
  106.  
  107. aux = prata[i]
  108. prata[i] = prata[iMenor]
  109. prata[iMenor] = aux
  110.  
  111. aux = bronze[i]
  112. bronze[i] = bronze[iMenor]
  113. bronze[iMenor] = aux
  114.  
  115. aux = indice[i]
  116. indice[i] = indice[iMenor]
  117. indice[iMenor] = aux
  118. }
  119.  
  120. }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement