Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

070tiag0

Inicializar array com números aleatórios

Mensagens Recomendadas

070tiag0

Qual o erro do seguinte programa?Quero inicializar uma array com números aleatórios.

#include <stdio.h>

#define valor 10

main()
{
int vector [valor][valor], i, j, contador;

for(i=0;i<valor;i++){
	for(j=0;j<valor;j++){
		vector[i][j] = numeroaleatorio (valor);
		if (vector[i][j] == 0)
			contador++;
	}
}
printf("O vector tem %d zeros\n", contador);
}

int numeroaleatorio (int limite)
{
return (int) (((double)rand()/(double)RAND_MAX) * limite);
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Antes de mais informa qual é o erro que te está a dar, o que disseste foi muito vago.

Eu não costumo utilizar essa notação para números aleatórios, uso antes isto. Não sei se isso pode estar a influenciar em runtime.


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Black-Wolf

Boas,

Falta-te colocar o include abaixo para que possas usar o RAND_MAX:

#include <stdlib.h>

Também te falta inicializar a variáver contador. Senão podes ter resultados inesperados, mas testa para perceberes o porque.

Abraço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
070tiag0

Resolveu, obrigado pela ajuda. Já agora partilho o código correcto se ajudar alguém.

#include <stdio.h>
#include <stdlib.h>
#define valor 10

main()
{
int vector [valor][valor], i, j, contador;
contador=0;
for(i=0;i<valor;i++){
	for(j=0;j<valor;j++){
		vector[i][j] = numeroaleatorio (valor);
		if (vector[i][j] == 0)
			contador++;
	}
}
printf("O vector tem %d zeros\n", contador);
}

int numeroaleatorio (int limite)
{
return (int) (((double)rand()/(double)RAND_MAX) * limite);
}

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.