Ir ao conteúdo
  • Cadastre-se

Como concluo esse programa?


Tefo94
Ir à solução Resolvido por Tefo94,

Posts recomendados

Exercicio:

Faça um programa para ler 10 numeros DIFERENTES a serem armazenados em um vetor.
Os dados deverão ser armazenados no vetor na ordem que forem sendo lidos, sendo que
caso o usuario digite um número que já foi digitado anteriormente, o programa deverá pedir
para ele digitar outro número. Note que cada valor digitado pelo usuário deve ser pesquisado
no vetor, verificando se ele existe entre os numeros que já foram fornecidos. Exibir na tela o
vetor final que foi digitado.
 
 
 
 
#include <stdio.h>
#include <stdlib.h>
 
int main() {
 
 
int numero[10],i;
 
for(i=0;i<10;i++){
 
printf("Digite o %d valor:",i+1);
scanf("%d",&numero);
 
if(numero==???){
 
printf("\nDigite novamente\n");
}
}
 
printf(" Vetor final:");
 
for(i=0;i<10;i++){
 
printf("\t %d",numero);
}
 
return 0;
}
 
 
Estou com dificuldade de colocar a Condição para que o Usuário não digite o mesmo número.
Link para o comentário
Compartilhar em outros sites

O problema é que você já está armazenando o valor diretamente no vetor.

Use outra variável para isso e antes de armazenar o valor da variável no vetor, faça a verificação.

Bom, pelo o que você disse então preciso colocar o If antes do scanf para verificar assim que o usuario digitar. Porém não to conseguindo formular o código necessário dentro do for. Já declarei a outra variável também.

Você postar seu código? 

Link para o comentário
Compartilhar em outros sites

Cara, nao compilei nao, mas acho q assim roda do jeito q você quer:

 

#include <stdio.h>
#include <stdlib.h>
 
 
 
int main()
{
int n,i,z;
int vetor [10];
 
scanf("%d",&n);
vetor[0]=n;
for (i=1;i<10;i++){
    scanf("%d",&n);
    for (z=0;z<i;z++){
        if (vetor[z]==n){
            printf("JA DIGITOU ESTE NUMERO ANTES");
            scanf("%d",&n);
        }
        else{
            vetor=n;
        }
        }
    }
 
    system("cls");
    for (i=0;i<10;i++){
        printf(" %d",vetor);
    }
    return 0;
}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom, pelo o que você disse então preciso colocar o If antes do scanf para verificar assim que o usuario digitar. Porém não to conseguindo formular o código necessário dentro do for. Já declarei a outra variável também.

Você postar seu código?

Meu código ficou assim

#include <stdio.h>#define MAX 10int main(){    int valor, existe, vetor[MAX]={0}, i = 0, n;    while(i < MAX){        printf("Valor: ");        scanf("%d", &valor);        for(n = existe = 0; n < i; n++)            if(vetor[n] == valor) existe = 1;        if(existe)            printf("o valor %d ja existe\n", valor);        else            vetor[i++] = valor;    }    printf("\nVetor:\n\n");    for(i = 0; i < MAX; i++)        printf("%d\n", vetor[i]);    return 0;}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução

 

Cara, nao compilei nao, mas acho q assim roda do jeito q você quer:

 

#include <stdio.h>
#include <stdlib.h>
 
 
 
int main()
{
int n,i,z;
int vetor [10];
 
scanf("%d",&n);
vetor[0]=n;
for (i=1;i<10;i++){
    scanf("%d",&n);
    for (z=0;z<i;z++){
        if (vetor[z]==n){
            printf("JA DIGITOU ESTE NUMERO ANTES");
            scanf("%d",&n);
        }
        else{
            vetor=n;
        }
        }
    }
 
    system("cls");
    for (i=0;i<10;i++){
        printf(" %d",vetor);
    }
    return 0;
}

 

Compilou certinho parceiro, obrigado.

Meu código ficou assim

 

#include <stdio.h>#define MAX 10int main(){    int valor, existe, vetor[MAX]={0}, i = 0, n;    while(i < MAX){        printf("Valor: ");        scanf("%d", &valor);        for(n = existe = 0; n < i; n++)            if(vetor[n] == valor) existe = 1;        if(existe)            printf("o valor %d ja existe\n", valor);        else            vetor[i++] = valor;    }    printf("\nVetor:\n\n");    for(i = 0; i < MAX; i++)        printf("%d\n", vetor[i]);    return 0;}

valeu cara, aqui não compilou deve ter sido erro de alguma variável mas deu pra se ter uma ideia.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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