Ir para conteúdo

rogerwalter

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre rogerwalter

  1. rogerwalter

    Merge Sort

    Boa noite, estou tentando fazer meu codigo no portugol Studio porem sempre da erro se voces puder olhar e me informar onde esta o erro agradeço embaixo esta meu codigo completo: programa { //constante global const inteiro TMH = 8 /*Divisão do merge * ele divide o inicio e o fim em 2 * entao ele separa em (inicio,meio,valor) e * (meio+1,fim,valor) cada uma dessas sera dividida * ate sobrar menhum a sem dividido para ser organizado */ funcao merge(inteiro valor[],inteiro inc, inteiro fim) { inteiro meio se(inc < fim) { meio =(inc + fim)/2 merge(valor, inc, meio) merge(valor, meio+1, fim) mergeSort(valor, inc, meio, fim) } } //organização do mergeSort funcao mergeSort(inteiro valor[],inteiro inc, inteiro meio, inteiro fim) { inteiro n1,n2 n1 = meio - inc + 1 n2 = fim - meio inteiro l[]={n1+1} inteiro r[]={n2+1} para(inteiro i=1; i < n1; i++) { l = valor[inc + i -1] para(inteiro j=1; j < n2; j++) { r[j] = valor[meio + j] para(inteiro k=inc; k < fim; k++) { se(l <= r[j]) { valor[k] = l i += 1 } senao { valor[k] = r[j] j += 1 } } } } } funcao inicio() { inteiro valor[TMH] inteiro inc inteiro fim //Declarar os valores a serem ordenados escreva("Digite ",TMH," valores \n") para(inteiro i=0; i < TMH; i++) { escreva(i+1,"º valor: ") leia(valor) } //declarando inicio, meio, fim inc =0+((0 + TMH)/2) fim =((0 + TMH)/2) + TMH merge(valor,inc,fim) } }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.