Ir ao conteúdo
  • Cadastre-se
Raphaelli Bellini

Se o valor é impar vai para um vetor se par para outro. como fazer isso??

Recommended Posts

não estou conseguindo resolver o seguinte problema:
Escreva um programa C contendo dois vetores: numerosMenores e numerosMaiores. O usuário deve informar quantos valores desejar. Valores menores que 30 devem ficar no vetor  numerosMenores.

Meu código ficou assim:

#include <stdio.h>
int main(){
    int num, i, tamvet1, tamvet2;
    printf("Informe o tamanho do vetor \'numerosMenores\': ");
    scanf("%d", &tamvet1);
    printf("Informe o tamanho do vetor \'numerosMaiores\': ");
    scanf("%d", &tamvet2);
    int numerosMenores[tamvet1], numerosMaiores[tamvet2];
    for(i=0; i < (tamvet1+tamvet2); i++){
        printf("Digite um numero:");
        scanf("%d", &num);
        if(num < 30){
            numerosMenores = num;
        }
        else{
            numerosMaiores = num;
        }
    }
    for(i=0; i<tamvet1; i++){
        printf("Numeros menores do que 30: [%d] %d\n", i, numerosMenores);
    }
    for(i=0; i<tamvet2; i++){
        printf("Numeros maiores do que 30: [%d] %d\n", i, numerosMaiores);
    }
}

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa de 2 contadores. Quando o numero por exemplo for menor que 30 e você inserir ele no vetor numerosMenores, você precisa incrementar o contador de numeros menores, algo tipo:

if(num < 30){
            numerosMenores[contadorMenores] = num;
            contadorMenores++;
        }
        else{
            numerosMaiores[contadorMaiores] = num;
            contadorMaiores++;
        }

if(num < 30){
    numerosMenores[contadorMenores] = num;
	contadorMenores++;
}else{
    numerosMaiores[contadorMaiores] = num;
    contadorMaiores++;
}


E para adicionar algo que deixe sei código mais seguro supondo que ambos contadores não devem passar de 30

if(num < 30){
    if (contadorMenores<30){
      numerosMenores[contadorMenores] = num;
      contadorMenores++;
    }
}else{
  	if (contadorMaiores<30){
    	numerosMaiores[contadorMaiores] = num;
    	contadorMaiores++;
    }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

não deu certo não @vangodp

adicionado 4 minutos depois

Aquele código estava faltando uns pedaços, esse abaixo esta do jeito que escrevi.

 

#include <stdio.h>
int main(){
	int num, i, y, tamvet1, tamvet2;
	printf("Informe o tamanho do vetor \'numerosMenores\': ");
	scanf("%d", &tamvet1);
	printf("Informe o tamanho do vetor \'numerosMaiores\': ");
	scanf("%d", &tamvet2);
	int numerosMenores[tamvet1], numerosMaiores[tamvet2];
	for(i=0; i < (tamvet1+tamvet2); i++){
		printf("Digite um numero:");
		scanf("%d", &num);
		if(num < 30){
			numerosMenores[i] = num;
		}
		else{
			numerosMaiores[y] = num;
			y++;
		}
	}
	for(i=0; i<tamvet1; i++){
		printf("Numeros menores do que 30: [%d] %d\n", i, numerosMenores[i]);
	}
	for(y=0; y<tamvet2; y++){
		printf("Numeros maiores do que 30: [%d] %d\n", y, numerosMaiores[y]);
	}
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×