Ir ao conteúdo

Posts recomendados

Postado
int distman(int n ,int v1[], int v2[]){
    int s,i,r=0;

    for(i=0;i<n;i++){
       s=v1[i]-v2[i];
       if(s<0){
        s=s*(-1);
       }
       r=r+s;
    }
    return r;
}

precisava transformar essa função em divisão e conquista, mas n consigo pensar em nada

Postado

Ola,

  Em 22/04/2022 às 18:42, Nelsonderocha disse:

precisava transformar essa função em divisão e conquista, mas n consigo pensar em nada

Expandir  

Função recursiva (Recursionsão quase instruções ‘loops’ que empilham n-chamadas de si até a conquista da resposta.

Exemplo

/* Exibir os itens via iteração sobre vetor -- recursiva -- */
void//retorno nulo
show(int n,int *array)
{
  if(0<n){
    printf("%d ",*array);
    
    show(n - 1,array + 1);}
}

Nota que suas chamadas (internas) decrementam `n` enquanto incrementam o `array` semelhante ao ‘loop’ que percorre o vetor:

/* Exibir os itens via iteração sobre vetor */
void//retorno nulo
show(int n,int *array)
{
  for(; 0<n ;){
    printf("%d ",*array);
    
    n = n - 1,array = array + 1;}
}

Sua tarefa é|seria adaptação de laço para recursiva (from loop to recursion).

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!