Numeros Aleatorios de uma matriz em C

1. Numeros Aleatorios de uma matriz em C

João Paulo dos Santos Ferreira
Jota P.

(usa Debian)

Enviado em 23/06/2011 - 11:50h

E ai galera,to com uma duvida aqui.Com a seguinte matriz:

int m[4][14] = {{1,2,3,4,5,6,7,8,9,10,10,10,10},
{1,2,3,4,5,6,7,8,9,10,10,10,10},
{1,2,3,4,5,6,7,8,9,10,10,10,10},
{1,2,3,4,5,6,7,8,9,10,10,10,10}};

Como eu faço,para o programa escolher um numero aleatorio,que esteje dentro dessa matriz?
E depois fazer a soma dos numeros sorteados,ate que o usuario decida parar?

Obrigado desde já...


  


2. Re: Numeros Aleatorios de uma matriz em C

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 23/06/2011 - 11:53h

Gere dois valores aleatórios:
* Um de 0 a 3 (variavel "i");
* E outro de 0 a 13 (variavel "j")

O valor aleatório será o m[i][j]

Para gerar o aleatorio, pode usar a funcão "rand", do C.

Espero ter ajudado!


3. Re: Numeros Aleatorios de uma matriz em C

João Paulo dos Santos Ferreira
Jota P.

(usa Debian)

Enviado em 23/06/2011 - 12:06h

Ficaria assim então:

for(i=0; i<4; i++) {
for(j=0; j<14; j++){
num = rand() % m[i][j] ;
}
}




4. Re: Numeros Aleatorios de uma matriz em C

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 23/06/2011 - 12:10h

Nao... Ficaria assim:

int i = rand() % 4;
int j = rand() % 14;

int valor_aleatorio = m[i][j];


Claro, eu abstrai o resto do codigo, como os includes, a inicializacao da semente do rand, etc... mas o nucleo é esse.


5. Re: Numeros Aleatorios de uma matriz em C

João Paulo dos Santos Ferreira
Jota P.

(usa Debian)

Enviado em 23/06/2011 - 12:22h

É isso mesmo,deu certo aqui,mas só tem um detalhe,por algum motivo foi gerado o numero zero e não pode ser zero.Eu tentei inicializar as variaveis i,j com 1,mas também não deu certo.Como eu poderia mudar isso?

Vlw pela ajuda...


6. Re: Numeros Aleatorios de uma matriz em C

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 23/06/2011 - 12:25h

Amigo, voce disse que queria escolher aleatoriamente um valor do seu vetor.

O que eu faco eh sortear os indices do mesmo.

Se seu vetor é [4][14]:
* A linha dele vai de 0 a 3;
* e a coluna de 0 a 13;

Nao esqueca que os indices de matriz em C comecam em zero e vão até (tamanho - 1)!

Ainda não enxerguei o problema :(






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts