Questão:
Como atribuir valores aleatórios numa matriz usando C?
Ramon
2011-07-15 07:28:39 UTC
Uma matriz 5x5 precisa ter 5 tipos de valores (exemplo, 0,1,2,3,4), distribuidos aleatoriamente em suas células (por exemplo, ter 5 números zeros, 5 números um, 5 números dois, 5 números 3 e 5 números 4, postos aleatoriamente)...
qual função utilizar?
Trzy respostas:
?
2011-07-15 09:17:49 UTC
Para gerar números aleatórios use a função rand()

Você precisa iniciar ela com uma semente. Para iniciar a semente, use srand(int);

Para ser sempre imprevisível, é bom escolher um int que vai no parâmetro sempre diferente. Geralmente se usa o time(0), então a semente é um número de segundos desde 1970.

Para limitar por exemplo entre [0,10], use o módulo 11(%11).

srand(time(0));

int aleatorio = rand() % 11;



Se quiser entre [0, 10[

int aleatorio = rand() % 10;



Se quiser entre [4, 10]

int aleatorio = rand() % 7 + 4;

..................................^ (10+1-4)
Junior
2011-07-15 07:56:55 UTC
2 pontos, vlw ai champs
2011-07-15 07:35:48 UTC
Precisa ser exclusivamente em C?



Existem programas para cálculos matemáticos muito úteis para esse tipo de coisa como por exemplo o MATLAB.



Com o MATLAB é possível gerar matrizes de todas as formas possíveis, inclusive, randômica.



Cálculos com Matrizes do tipo inversão, multiplicação matricial e vetorial com comandos bem simples.



Agora... Para ajudar na sua pesquisa (que não tem nada a ver com o que falei acima, foi apenas uma dica de ferramenta), achei esses dois links:



http://www.decom.ufop.br/menotti/aedI082/tps/tp1-sol2.pdf

http://forum.clubedohardware.com.br/criacao-varias-matrizes/855970?s=618c2a7e9bcb58b7b6fd3b30dc20fdc2&



Dê uma olhada neles e veja se te dão algum auxílio.



Boa sorte!


Este conteúdo foi postado originalmente no Y! Answers, um site de perguntas e respostas que foi encerrado em 2021.
Loading...