Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- programa
- {
- inclua biblioteca Util --> ut
- funcao inicio()
- {
- inteiro ouro[5]={6,5,3,5,5}
- inteiro prata[5]={1,2,6,4,2}
- inteiro bronze[5]={1,2,3,4,5}
- inteiro indices[5]
- para(inteiro i=0;i<5;i++){
- indices[i]=i
- }
- para(inteiro i=0;i<5;i++){
- escreva(indices[i],"\t")
- }
- escreva("\n")
- para(inteiro i=0;i<5;i++){
- escreva(ouro[i],"\t")
- }
- escreva("\n")
- para(inteiro i=0;i<5;i++){
- escreva(prata[i],"\t")
- }
- escreva("\n")para(inteiro i=0;i<5;i++){
- escreva(bronze[i],"\t")
- }
- escreva("\n")
- selectionSort(ouro,prata,bronze,indices)
- escreva("\n")
- para(inteiro i=0;i<5;i++){
- escreva(indices[i],"\t")
- }
- escreva("\n")
- para(inteiro i=0;i<5;i++){
- escreva(ouro[i],"\t")
- }
- escreva("\n")
- para(inteiro i=0;i<5;i++){
- escreva(prata[i],"\t")
- }
- escreva("\n")para(inteiro i=0;i<5;i++){
- escreva(bronze[i],"\t")
- }
- escreva("\n")
- }
- funcao insertionSort(inteiro &ouro[],inteiro &prata[],inteiro &bronze[],inteiro &indice[]){
- inteiro tam = ut.numero_elementos(ouro)
- para(inteiro i =0 ; i<tam ; i++){
- //sempre mantem o
- inteiro auxOuro = ouro[i]
- inteiro auxPrata = prata[i]
- inteiro auxBronze = bronze[i]
- inteiro auxIndice = indice[i]
- inteiro j=i
- enquanto(j>0 e ouro[j-1]>auxOuro ){
- ouro[j]=ouro[j-1]
- prata[j]=prata[j-1]
- bronze[j]=bronze[j-1]
- indice[j]=indice[j-1]
- j--
- }
- enquanto(j>0 e ouro[j-1]>=auxOuro e prata[j-1]>auxPrata ){
- ouro[j]=ouro[j-1]
- prata[j]=prata[j-1]
- bronze[j]=bronze[j-1]
- indice[j]=indice[j-1]
- j--
- }
- enquanto(j>0 e ouro[j-1]>=auxOuro e prata[j-1]>=auxPrata e bronze[j-1]>auxBronze ){
- ouro[j]=ouro[j-1]
- prata[j]=prata[j-1]
- bronze[j]=bronze[j-1]
- indice[j]=indice[j-1]
- j--
- }
- ouro[j] = auxOuro
- prata[j] = auxPrata
- bronze[j] = auxBronze
- indice[j] = auxIndice
- }
- }
- funcao selectionSort(inteiro &ouro[],inteiro &prata[],inteiro &bronze[],inteiro &indice[]){
- inteiro tam = ut.numero_elementos(ouro)
- para(inteiro i =0 ; i<tam ; i++){
- inteiro iMenor=i
- para(inteiro j = i+1;j<tam;j++){
- se(ouro[j] < ouro[iMenor])
- iMenor = j
- senao se(ouro[j] == ouro[iMenor] e prata[j] < prata[iMenor])
- iMenor = j
- senao se(ouro[j] == ouro[iMenor] e prata[j] == prata[iMenor] e prata[j] < prata[iMenor])
- iMenor = j
- }
- inteiro aux = ouro[i]
- ouro[i] = ouro[iMenor]
- ouro[iMenor] = aux
- aux = prata[i]
- prata[i] = prata[iMenor]
- prata[iMenor] = aux
- aux = bronze[i]
- bronze[i] = bronze[iMenor]
- bronze[iMenor] = aux
- aux = indice[i]
- indice[i] = indice[iMenor]
- indice[iMenor] = aux
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement