Implemente um programa em C que leia via teclado os elementos de um vetor de TAM posições de forma a permitir apenas a inserção de valores distintos. Caso o usuário tente inserir um valor já existente, o programa deve alertar a duplicidade e solicitar um novo valor.
Passo 1
Beleza, vamos lá! O que precisamos fazer aqui é criar um programa em C que lê elementos para um vetor com um tamanho definido, chamado de
TAM
. A grande ideia é garantir que cada valor inserido seja único, ou seja, que não tenha repetições. Se o usuário tentar inserir um valor que já existe no vetor, o programa deve avisar sobre a duplicidade e pedir para inserir outro valor. Para resolver isso, vamos precisar entender como trabalhar com vetores, laços de repetição e condições em C.Passo 2
Primeiro, vamos declarar as variáveis que vamos usar. Precisamos de:
- Um vetor para armazenar os números inseridos.
- Uma variável para armazenar o tamanho do vetor (
TAM
). - Variáveis auxiliares para receber o número a ser inserido e para verificar duplicidades.
Aqui está como podemos declarar isso em C:
#include <stdio.h>
#define TAM 10 // Define o tamanho do vetor
int main() {
int vetor[TAM];
int numero, i, j, duplicado;
// ... (continua nos próximos passos)
}
Passo 3
Agora, vamos pedir para o usuário inserir os valores no vetor. Vamos usar um laço
for
para iterar de 0 até TAM - 1
. Dentro desse laço, vamos ler um número e verificar se ele já existe no vetor. for(i = 0; i < TAM; i++) {
do {
duplicado = 0; // Assume que não há duplicado
printf("Digite o %dº número: ", i + 1);
scanf("%d", &numero);
// Verifica se o número já existe no vetor
for(j = 0; j < i; j++) {
if(vetor[j] == numero) {
duplicado = 1;
printf("Número já existe! Por favor, insira um valor diferente.\n");
break;
}
}
} while(duplicado); // Repete se encontrou duplicado
vetor[i] = numero; // Insere o número no vetor
}
Passo 4
Depois de preencher o vetor sem duplicatas, vamos mostrar os números inseridos para o usuário conferir. Podemos usar outro laço
for
para isso. printf("\nVetor final sem duplicatas:\n");
for(i = 0; i < TAM; i++) {
printf("%d ", vetor[i]);
}
return 0;
}
Resposta
Pronto! Com esses passos, o programa em C solicita que o usuário insira números em um vetor de tamanho
TAM
, garantindo que cada valor seja único. Se o usuário tentar inserir um número que já existe no vetor, o programa avisa sobre a duplicidade e pede para inserir outro valor. Aqui está o código completo:#include <stdio.h>
#define TAM 10 // Define o tamanho do vetor
int main() {
int vetor[TAM];
int numero, i, j, duplicado;
for(i = 0; i < TAM; i++) {
do {
duplicado = 0; // Assume que não há duplicado
printf("Digite o %dº número: ", i + 1);
scanf("%d", &numero);
// Verifica se o número já existe no vetor
for(j = 0; j < i; j++) {
if(vetor[j] == numero) {
duplicado = 1;
printf("Número já existe! Por favor, insira um valor diferente.\n");
break;
}
}
} while(duplicado); // Repete se encontrou duplicado
vetor[i] = numero; // Insere o número no vetor
}
printf("\nVetor final sem duplicatas:\n");
for(i = 0; i < TAM; i++) {
printf("%d ", vetor[i]);
}
return 0;
}
Esse programa vai garantir que todos os números no vetor sejam distintos, seguindo os critérios do exercício. Experimente rodar e testar com diferentes entradas para ver como funciona!