Eliminando elementos repetidos de uma sequência
Publicado por Perfil removido 20/06/2007
[ Hits: 22.144 ]
Através desse programa, é possivel ler o número de elementos de um vetor com capacidade máxima de 1000 números.
Para os que se repetem, escrever a quantidade de vezes em que aparecem repetidos.
Posteriormente, formar um novo conjunto excluindo os elementos repetidos.
#include <stdio.h>
#include <stdlib.h>
#define max 1000
main()
{
char opcao=0;
int n=0, var1, var2, var3, registrador=0, contador;
int vet1[max], vet2[max];
/*As variáveis var1, var2, var3 sao usadas nos laços e em artificios de troca*/
while(opcao!='x')
{
printf(" %c------------------------------------------------------------------------%c\n",218,191);
printf(" | Atraves desse programa, e possivel ler o numero de elementos de um |\n");
printf(" | vetor com capacidade de 1000 numeros. Para os que se repetem, escrever |\n");
printf(" | a quantidade de vezes em que aparecem repetidos. Forma um novo conjunto|\n");
printf(" | excluindo os elementos repetidos. |\n");
printf(" %c------------------------------------------------------------------------%c\n\n",192,217);
/*Menu de opcoes*/
printf(" %c--------%c\n",201,187);
printf(" | MENU |\n");
printf(" %c----%c--------%c----%c\n",218,200,188,191);
printf(" | (L)er |\n");
printf(" %c------------------%c\n",204,185);
printf(" | (E)screver |\n");
printf(" %c------------------%c\n",204,185);
printf(" | (F)ormar |\n");
printf(" %c------------------%c\n",204,185);
printf(" | Fechar (x)|\n");
printf(" %c------------------%c\n",192,217);
/*Lendo a opcao do menu*/
printf("\n Escolha uma opcao: ");
scanf("%c", &opcao);
/*Menu de opcoes*/
switch(opcao)
{
case 'L':
case 'l':
/*Lendo o numero de elementos do vetor.*/
n=0;
while(n<=0 || n>max){
printf("\nDigite o numero de elementos da sequencia desejada: ");
scanf("%d",&n);
if(n<=0 || n>max)
printf("\nNumero invalido.\n");
}
/*Lendo os elementos do vetor*/
for(var1=0; var1<n; var1++){
printf("Digite o %d valor: ", var1+1);
scanf("%d", &vet1[var1]);
}
/*Ordenando os elementos do vetor*/
for(var1=n-1; var1>=0; var1--){
for(var2=0; var2<var1; var2++){
if(vet1[var1]<vet1[var2]){
var3=vet1[var1];
vet1[var1]=vet1[var2];
vet1[var2]=var3;
}
}
}
printf("\nConcluido.");
getch();
system("cls");
break;
case 'E':
case 'e':
/*Verificando os numeros que se repetem, e quantas vezes se repetem.*/
contador=1;
var3=0;
var2=vet1[0];
vet2[n]=0;
for(var1=1; var1<=n; var1++){ /*Comparando os numeros entre si.*/
if(var2==vet1[var1])
contador++;
else if(contador>1){
printf("\nO numero %d se repete %d vez(es).\n", var2, contador-1);
vet2[var3++]=var2;
var2=vet1[var1];
contador=1;
registrador++;
}
else{
vet2[var3++]=var2;
var2=vet1[var1];
contador=1;
}
}
/*Imprimindo uma mensagem caso nao exista numeros repetidos.*/
if(registrador==0)
printf("\nNao ha numeros que se repetem na sequencia.\n");
printf("\nConcluido.");
getch();
system("cls");
break;
case 'F':
case 'f':
/*Imprimindo o vetor formado por elementos que se repetiram.*/
printf("\n O novo conjunto e formado por:\n ");
for(var1=0; var1<var3; var1++)
printf("%d ", vet2[var1]);
printf("\n\nConcluido.");
getch();
system("cls");
break;
case 'X':
case 'x':
opcao='x';
default:
system("cls");
break;
}
}
}
Linguagem C estruturada - Sistema Numérico Hexadecimal
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









