Ir ao conteúdo

[Resolvido!] Vetor de tamanho 9 sem repetição!


Ir à solução Resolvido por Rafael Domingues Corrêa,

Posts recomendados

Postado

Boa tarde, pessoal preciso fazer um programa que complete um vetor de tamanho 9 sem números repetidos mais não estou conseguindo!

#include <stdio.h>int main (){    int aux[9],vet[9],i,j;    aux[0]=vet[0];    srand(time(NULL));    for (i=0; i<9; i++)    {        vet[i]=rand()%9+1;        j=i;        while (j<9)        {            if (vet[i] == aux[j])            {                vet[i]=rand()%9+1;            }                aux[j]=vet[i];            j++;        }    }    for (i=0; i<9; i++)    {        printf("[%d]\t",vet[i]);    }}
Postado

#include <stdio.h>

#include<stdlib.h>

#include<time.h>

int main ()

{

int aux[9],vet[9],i,j;

srand(time(NULL));

for (i=0; i<9; i++)

aux=0;

for (i=0; i<9; i++)

{

j=rand()%9+1;

while (aux[j-1]==1)

j=rand()%9+1;

aux[j-1]=1;

vet=j;

}

for (i=0; i<9; i++)

printf("[%d]\t",vet);

}

Desculpa nao por dentro da caixinha de codigo, estou respondendo pelo celular e nao tem a opcao

#include <stdio.h>

#include<stdlib.h>

#include<time.h>

int main ()

{

int aux[9],vet[9],i,j;

srand(time(NULL));

for (i=0; i<9; i++)

aux=0;

for (i=0; i<9; i++)

{

j=rand()%9+1;

while (aux[j-1]==1)

j=rand()%9+1;

aux[j-1]=1;

vet=j;

}

for (i=0; i<9; i++)

printf("[%d]\t",vet);

}

Desculpa nao por dentro da caixinha de codigo, estou respondendo pelo celular e nao tem a opcao

  • Solução
Postado

Silvio, coloquei um código mais explicativo para lhe ajudar a entender a lógica

#include <stdio.h> //Para entrada e saíd de dados#include <stdlib.h> //Para srand() e rand()#include <time.h> //Para time()int main () //Função geral do tipo inteiro{    int vet[9], //Vetor que carregará os valores    i, j, //Varáveis de controle de loop    aux; //Variável que receberá o número aleatório a ser comparado    /** Não há a necessidade de criar dois vetores pois um valor    de cada vez, apenas, será comparado **/    srand(time(NULL)); //Cria a semente dos números aleatórios    vet[0] = rand()%9 + 1; //Inicia o primeiro valor do vetor pois não precisa ser comparado    //Loop de preenchimento do vetor, usando variável de preenchimento    for (i=1; i<9; i++) //Variável 'i' recebe 1 pois o primeiro valor já foi iniciado    {        aux = rand()%9 + 1; //Auxiliar recebe novo valor        j = 0; //Inicia a variável usada no loop para comparação        while(j<i) //Enquanto todo array não é comparado        {            if(aux == vet[j]) //Se valor de auxiliar for igual a um que já existe no vetor            {                aux = rand()%9 + 1; //Auxiliar recebe novo valor                j = 0; //Reinicia a comparação            }            else //Se for diferente            {                j++; //Passa para a próxima comparação            }        }        //Se chegar nesse ponto é porque todos os números são diferentes        vet[i] = aux; //Posição no vetor recebe o valor válido    }    for (i=0; i<9; i++) //Exibe todos os valores    {        printf("[%d]\t",vet[i]);    }    //Como main() é do tipo inteiro deve retornar um valor inteiro    return 0;}
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...

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!