Ir ao conteúdo

Posts recomendados

Postado

Olá, gostaria de verificasse onde esta o erro na logica cujo o objetivo é, ler um vetor e os valores que forem maiores que 0(positivo) receber o valor 0. Exemplo {-5,-4,6,7}, usando recursividade deve retornar {-5,-4,0,0}.Lembrando, deve-se utilizar recursividade.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

recur(int vet[] ,int tamvet);
int main()
{
    int vet[100],tamvet,i,tamanho;
    
    printf("=======Tamanho do vetor========\n");
    scanf("%d",&tamvet);
    
    printf("==================================\n");
    printf("Entre com os dados do vetor \n");
    for(i=0;i<tamvet;i++){
    	scanf("%d",&vet[i]);
    }
    printf("=================VETO LIDO======================\n\n");
    for(i=0;i<tamvet;i++){
    	printf(" %d",vet[i]);
    }
    tamanho=tamvet-1;
    recur(vet,tamanho);
    printf("\n\n\n VETOR RECEBENDO 0 EM ENTRADA MAIOR QUE 0:\n");
    	for(i=0;i<tamvet;i++){
    	printf(" %d",vet[i]);
    	}
    
}
recur(int vet[] ,int tamanho){
	int i;
	if(vet[tamanho]>0){
		return vet[tamanho]=0;
	}
	else{
		return recur(vet,tamanho-1);
	}
	if(tamanho>0){
		return recur(vet,tamanho);
	}

	
}

 

 

Postado

Acho que você estava montando errado a lógica da função recursiva

void recur(int vet[], int tamanho){
	int i;
	if(vet[tamanho]>0)
		vet[tamanho]=0;

	if(tamanho>0)
		recur(vet,tamanho-1); //Só chama a próxima caso o tamanho ainda não seja 0
}

 

Postado
3 minutos atrás, iHollyZinhO disse:

Acho que você estava montando errado a lógica da função recursiva


void recur(int vet[], int tamanho){
	int i;
	if(vet[tamanho]>0)
		vet[tamanho]=0;

	if(tamanho>0)
		recur(vet,tamanho-1); //Só chama a próxima caso o tamanho ainda não seja 0
}

muito obrigado :)

 

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

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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!