Ir ao conteúdo
  • Cadastre-se
MarcioAlerico

Valores pré determinados em posições aleatórias na matriz em C

Recommended Posts

Olá sou novo aqui no fórum curso Desenvolvimentos de jogos eletrônicos e hoje me deparei com uma duvida, o qual a professora não conseguiu me ajudar.

Em fim queria saber se tem como pegar valores pré determinados em posições aleatória dentro de uma matriz... não tenho ideia de como fazer isso se alguem puder me dar uma ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcio,

Tente ser mais claro no que desejas, o que eu entendi foi:

Com base num valor determinado (Ex. 5) saber as posições na matriz onde ele se encontra;

É isso mesmo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro o que eu gostaria de fazer e pegar uma valor e coloca-lo na matriz em uma posição aleatória. Sem utilizar um scanf no caso os valores jé estariam no algoritimo e eles basicamente ficariam trocando de posição acada execução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcio,

Pelo o que eu entendi dá para fazer sim e é bem simples através do comando rand().

Rand é uma função que gera números aleatórios em um range que você pode limitar.

Ex.

v1 = rand() % 100;         // v1 vai ficar entre 0 ate 99
v2 = rand() % 100 + 1; // v2 vai ficar entre 1 ate 100
v3 = rand() % 30 + 1985; // v3 vai ficar entre 1985 ate 2014

Logo com sua matriz criada você limita o range para a quantidade de colunas e linhas para não correr o risco da variável ser jogada "fora" da matriz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo mas o que eu queria é Mudar os valores já dentro da matriz para uma posição aleatória no casa os números já estariam dentro da matriz e o que aconteceria seria mudar as posições. como se foce um algorítimo para ordenar só que ao invés de ordenar ele iria sortear as posições...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Entendo, dá para fazer sim porém ia ficar um pouco mais grandinho pois teria que ser feita uma checagem. O que eu pensei de imediato foi ter 2 matrizes, uma é a matriz real e outra temporária. Segue os passos:

1. Você ao realizar a mudança ia pegar todos os valores da raiz real e jogar na temporária;

2. Iria botar todos os valores da matriz real para um valor em comum que não seja usado (nesse ex. será 0);

3. Vai lendo o valor de posição em posição da matriz temporária e iria jogar na matriz real fazendo uma checagem:

i = rand();
j= rand(); //pegando os valores aleatórios para as posições
if (matrizReal [i][j] != 0) [..] "repita o processo" /*checa se já tem algum
valor onde caiu a posição, se sim repetir o processo,
se não insira o valor da matriz temporária para essa unidade*/
else
matrizReal [i][j] == matrizTemp[a][b];

Consegue visualizar a ideia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×