• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

carloskick

Matriz

6 mensagens neste tópico

como é que posso atribuir a cada casa de uma matriz dois valores aleatorios. Isto é keria preencher uma matriz com 60% de 1's e 40% de 0's aleatoriamente.

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para cada posição, geras um inteiro entre 1 e 100. Se esse inteiro for maior do que 60, colocas um 0 na posição, caso contrário colocas um 1.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas entao tenho k gerar um inteiro, mas esse inteiro nao pode calhar para a proxima casa da matriz....tenho duvidas em fazer isso...

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

	for(j = 0; j < YLEN; j++) {
	for(i = 0; i < XLEN; i++) {
		k = random() % 100;
		if(k >= 60) board[i][j] = 0;
		else board[i][j] = 1;
	}
}

isto é o k eu tenho pra ja, mas não m faz os tais 60% de 1's e 40% de 0's.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obviamente que isso não vai dar exactamente os 60-40.

Se queres que dê mesmo 60-40, preenche tudo a 1, e depois vai gerando valores de posições aleatórios, que te indicam as posições que ficam a 0, até teres 40% a 0.

Por exemplo, se tiveres 100 posições, geras um valor de 0 a 99 que te indica uma posição a colocar a 0. Repetes o processo até teres obtido 40 valores de posições diferentes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obviamente que isso não vai dar exactamente os 60-40.

Se queres que dê mesmo 60-40, preenche tudo a 1, e depois vai gerando valores de posições aleatórios, que te indicam as posições que ficam a 0, até teres 40% a 0.

Por exemplo, se tiveres 100 posições, geras um valor de 0 a 99 que te indica uma posição a colocar a 0. Repetes o processo até teres obtido 40 valores de posições diferentes.

Também diria isso. Preencher tudo a 1 e gerar 40 números aleatórios, passar a uma função q inseria na matriz.

Os 40 números podem ser passados para um array e este testado no sentido de haver ou ñ igualdades entre o seu conteúdo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora