Ir para conteúdo
raphaelli.bellini

N consigo fazer o exercicio

Recommended Posts

Olá pessoal!

Não estou conseguindo resolver o seguinte problema, se alguém puder me ajudar:
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 esta abaixo.

#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]);
	}
}


Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use outro índice p/ o vetor de números menores, porque caso você digite 40 e 27, por exemplo, nessa ordem, o segundo número vai ser armazenado na posição 1 do vetor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável y não está inicializada antes do seu uso na função principal o que fará com que o programa armazene os valores lidos maiores ou iguais a 30 em posições incorretas do vetor por que a variável que é usada como índice desse vetor não tem um valor definido. Deve-se inicializar ela com 0 antes de usá-la para que o primeiro valor lido seja armazenado na primeira posição desse vetor que é a posição 0 e consecutivamente os outros valores maiores ou iguais a 30 nas posições seguintes. Somente esse erro. De resto o programa está funcionando perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, Wilkyn Fernandes Taborda disse:

A variável y não está inicializada antes do seu uso na função principal o que fará com que o programa armazene os valores lidos maiores ou iguais a 30 em posições incorretas do vetor por que a variável que é usada como índice desse vetor não tem um valor definido. Deve-se inicializar ela com 0 antes de usá-la para que o primeiro valor lido seja armazenado na primeira posição desse vetor que é a posição 0 e consecutivamente os outros valores maiores ou iguais a 30 nas posições seguintes. Somente esse erro. De resto o programa está funcionando perfeitamente.

 

 

Esse post ai tem 3 anos mano kkkkk

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

×

Informação importante

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