Ir ao conteúdo

Posts recomendados

Postado

Bom dia Galera, sou iniciante na área de programação e estou com muita dificuldade para entender como fazer a atribuição dos valores do vetor1 com 10 elementos e vetor2 com 15 elementos para o vetor3 e, ordenar e a excluir dos valores repetidos no vetor resultante.

Obs: Os dois vetores possuem números de elementos distintos,

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

int main(){
	//Declaração das variáveis e vetores
    int vetA[10], vetB[15], vetC[25];
	int i, j, troca;
		
	printf("Preenchendo o vetor vetA aleatoriamente\n\n");
	//Função que mudará os valores em cada nova execução
	srand(time(NULL));
	for (i=0; i<10; i++){
	printf("O valor gerado na posicao [%d] eh = %d\n", i,rand() % 100);	
		
	}
	printf("\n");
	//Preenchendo o segundo vetor
	printf("Preenchendo o vetor vetB aleatoriamente\n\n");
	for (i=0; i<15; i++){
	printf("O valor gerado na posicao [%2d] eh = %d\n", i,rand() % 100);
		
    }
	printf("\n");
	
	for (i=0; i < 25; i++){
		vetC[i] = vetA[i];
	}
	for (i=10; i<25; i++){
		vetC[i]= vetB[i-10];
	}
	//Ordenando os objetos dos vetores
	for (i=0; i<10; i++){
		for(j=1; j<25; j++){
			if(vetB[i] > vetC[i]){
				troca = vetC[i];
				vetC[i] = vetC[j];
				vetC[j] = troca;
			}
		}
			
	} 
	//Imprimindo o Vetor Resultante 
	printf("O vetor Ordenado\n");
		for(i=0; i<25; i++){
			printf("%d\n - ", vetC[i]);
		}
  	
	return 0;
}



 

  • Curtir 1
Postado

Bom dia,

Acho que você esqueceu de por a atribuição dos valores random aos vetores, isso eu adicionei. Na questão da ordenação, fiz uma implementação do algoritmo insertion sort (https://pt.wikipedia.org/wiki/Insertion_sort), você pode encontrar outros algoritmos de ordenação em https://pt.wikipedia.org/wiki/Algoritmo_de_ordenação, o mais utilizado é o quick sort.

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

int main(int argc, char **argv)
{
	//Declaração das variáveis e vetores
    int vetA[10], vetB[15], vetC[25];
	int i, j;
		
	printf("Preenchendo o vetor vetA aleatoriamente\n\n");
	//Função que mudará os valores em cada nova execução
	srand(time(NULL));
	for (i=0; i<10; i++){
		vetA[i] = rand() % 100;
		printf("O valor gerado na posicao [%d] eh = %d\n", i, vetA[i]);	
	}
	printf("\n");
	//Preenchendo o segundo vetor
	printf("Preenchendo o vetor vetB aleatoriamente\n\n");
	for (i=0; i<15; i++){
		vetB[i] =rand() % 100;
		printf("O valor gerado na posicao [%2d] eh = %d\n", i, vetB[i]);
    }
	printf("\n");
	
	for (i=0; i < 25; i++){
		vetC[i] = vetA[i];
	}
	for (i=10; i<25; i++){
		vetC[i]= vetB[i-10];
	}

	//Ordenando os objetos dos vetores
	int escolhido;
	int tamanhoVetor = 25;
	for (int i = 1; i < tamanhoVetor; i++) {
		escolhido = vetC[i];
		j = i - 1;
			
		while ((j >= 0) && (vetC[j] > escolhido)) {
			vetC[j + 1] = vetC[j];
			j--;
		}	
		vetC[j + 1] = escolhido;
	}
	//Imprimindo o Vetor Resultante 
	printf("O vetor Ordenado\n");
		for(i=0; i<25; i++){
			printf("%d\n - ", vetC[i]);
		}
	return 0;
}

 

  • Curtir 1
  • Obrigado 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

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...