Ir ao conteúdo

C Leia um vetor de 10 posições e verifique se existem valores iguais e os escreva.


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

##Não funciona, há algo de muito errado, mas não consigo visualizar

 


#include <stdio.h>
#include <conio.h>


int main(){

    /*Declaração de variáveis*/
    int a=0, i=0, j=0;
    int vetor[10], iguais[a];

   

/*Entrada*/
    for(i=0;i<10;i++){
        printf("\nEntre com o elemento[%d]:", i);
        scanf("%d", &vetor);
    }

   

 


     for(i=0;i<10;i++){
        for(j=i;j<11;j++){
            if(j==i){
                continue;
            }
            else if(vetor==vetor[j]){
                a++;
                iguais=vetor[j];
                break;
            }
        }
     }

     for(i=0;i<a;i++){
        printf("\n%d", iguais);
     }

     getch();

     return 0;
     }
 

  • Obrigado 1
  • Solução
Postado

@mln_r     você não usou o botão   <> que está lá na barra de ferramentas da janela de postar e por isso seu código ficou faltando alguns caracteres como os [ i ] que sumiram do seu código , e seu código está bom , mas precisa de mais alguns comandos e alguns que você colocou a mais , então seu código poderia ser assim  :

#include <stdio.h>
#include <conio.h>
int main(){
    /*Declaração de variáveis*/
    int a=0,i,j,w,flag;
    int vetor[10],iguais[10];/* a=0 então esse vetor não teria nenhuma posição , erro ! */
    /*Entrada*/
    for(i=0;i<10;i++){
        printf("Entre com o elemento[ %d ] : ",i+1);
        scanf("%d",&vetor[i]);
    }
    for(i=0; i<10; i++){
        for(j=0; j<10; j++){
            /*if(j==i){
                continue;  /* não precisa desse trecho */
            /*}
            else */
            flag=0;
            if(vetor[i]==vetor[j] && i != j){
                for(w=0; w<10; w++){
                    if(iguais[w] == vetor[j])/* se o numero já estiver nesse vetor de iguais */
                        flag=1;
                }
                if(flag==0){
                    iguais[a]=vetor[i];/* para escrever o numero apenas uma vez */
                    a++;
                }
                /*break;    nem desse break */
            }
        }
     }
     for(i=0; i<a; i++){
        printf("%d ",iguais[i]);
     }
     getch();
     return 0;
}

 

  • Curtir 1
  • Obrigado 1
  • 2 anos depois...
Postado

@Santa Kaya     testei esse código e ele está funcionando de acordo com o enunciado , que pede para escrever uma vez cada um dos valores repetidos no vetor , 

#define _CRT_SECURE_NO_WARNINGS    //  para usar scanf bem no visual studio
#include <stdio.h>
#include <stdlib.h>
int main() 
{
    int a = 0, i, j, w, flag;
    int vetor[10], iguais[10];
    for (i = 0; i < 10; i++) 
    {
        printf("Entre com o elemento[ %2d ] : ", i + 1);
        scanf("%d", &vetor[i]);
    }
    for (i = 0; i < 10; i++) 
    {
        for (j = 0; j < 10; j++) 
        {
            flag = 0;
            if (vetor[i] == vetor[j] && i != j) 
            {
                for (w = 0; w < 10; w++) 
                {
                    if (iguais[w] == vetor[j])/* se o numero já estiver nesse vetor de iguais */
                        flag = 1;
                }
                if (flag == 0) 
                {
                    iguais[a] = vetor[i];/* para escrever o numero apenas uma vez */
                    a++;
                }
            }
        }
    }
    printf("\n\nSaida -->  ");
    for (i = 0; i < a; i++) 
    {
        printf("%d ", iguais[i]);
    }
    printf("\n\n");
    system("pause");
    printf("\n\n\n");
    return 0;
}

 

769402890_vsvaliguais.thumb.jpg.89b8034653fd6c92136c52b32598a74c.jpg

 

veja se ao editar o código , você não modificou alguma coisa  !

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!