Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, boa tarde.

 

Estou tentando terminar um exercício de programação. O enunciado dele é: Selecionar valores repetidos de um vetor de 10 elementos sem repetições.

Por enquanto alguns valores estão repetidos, o que posso fazer?

 

Meu código: 


 

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
int main()
{
    setlocale(LC_ALL, "Portuguese");

    int vetor[10], i, j, rep[10], k;

    printf("**** Elementos repetidos de um vetor ****\n");

    // LEITURA DE DADOS //

    for(i = 0; i < 10; i++)
    {
        printf("\nDigite o %d elemento do seu vetor: ", i);
        scanf("%d", &vetor[i]);
    }

    // CONTAGEM DE ELEMENTOS REPETIDOS //

    printf("\nOs valores repetidos são: ");

    for(i = 0; i < 10; i++)
    {
        for(j = i+1; j < 10; j++)
        {
            if(vetor[i] == vetor[j] && i!=j)
            {
                printf("%d   ", vetor[i]);
            }
        }
    }

    printf("\n");

return 0;
}

 

  • Curtir 1
Postado

@Adrian Simon

@Adrian Simon       desculpe , esqueci de dizer que precisa de mais alguns comando ,  então seu código poderia ser assim   :

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include <windows.h>
/*             0     1    2     3   4      5      6      7         8  */
typedef enum{black,blue,green,cyan,red,magenta,brown,lightgray,darkgray,   /* nome das cores */
lightblue,lightgreen,lightcyan,lightred,lightmagenta,yellow,white} colors;
/*  9         10         11        12        13         14    15 */

static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/
static int __FOREGROUND = lightgray;

void textcolor2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letras;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letras + (__BACKGROUND << 4));
}

int main()
{
    setlocale(LC_ALL, "Portuguese");

    int vetor[10],vet2[10], i, j, rep[10],p,k,w,achou;

    printf("**** Elementos repetidos de um vetor ****\n");

    // LEITURA DE DADOS //

    for(i=0; i<10; i++)
    {
        textcolor2(14,0);
        printf(" Digite o %2d elemento do seu vetor : ",i+1);
        textcolor2(11,0);
        scanf("%d", &vetor[i]);
        vet2[i]= 0;
    }

    // CONTAGEM DE ELEMENTOS REPETIDOS //
    textcolor2(12,14);
    printf("\n Os valores repetidos s%co : ",198);

    for(i=0; i<10; i++)
    {
        for(j=0; j < 10; j++)
        {
            if(vetor[i] == vetor[j] && i!=j)
            {
                achou=0;
                for(w=0;w<10;w++){
                    if( vet2[w]==0 ){
                        achou=0;
                        for(p=0;p<10;p++){
                            if(vet2[p]==vetor[i]){
                                achou=1;
                                break;
                            }
                        }
                        if( ! achou ){
                            vet2[w]=vetor[i];
                            break;
                        }
                    }
                    if( achou )break;
                }
            }
        }
    }
    textcolor2(15,9);
    for(j=0;j<10;j++)
        if(vet2[j] != 0)printf(" %d ",vet2[j]);
    printf("\n\n\n");
    textcolor(15,0);
    return 0;
}

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!