Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

×

Informação importante

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