Números randômicos
Publicado por Davi das Chagas Neves 21/11/2008
[ Hits: 12.003 ]
Homepage: www.google.com
Fiz um programinha para gerar números aleatórios em c++ e resolvi compartilha-lo aqui no Viva o Linux. Quem tiver alguma dúvida sobre a linguagem C++ sugiro a leitura da apostila: www.del.urfj.br/~villas/livro_c++.html
A minha idéia aqui é apenas fornecer o código para que outras pessoas possam usá-lo, inclusive na elaboração de outros programas mais complexos, como na utilização do método de monte carlo.
Observando-o, vale ressaltar que, para gerar números inteiros, basta substituir as linhas:
x=(delta*fabs(sin(rand()))+xmin);
y=(delta*fabs(sin(rand()))+xmin);
por:
x=(rand()%(delta+1)+xmin);
y=(rand()%(delta+1)+xmin);
e declarar as devidas variáveis como inteiras. Para diferenciar o range dos valores de y, basta acrescentar as variáveis ymax, ymin e deltay, colocando-as nas devidas linhas.
Por fim, para compilar este programa, salve-o como random.cpp e use:
$g++ -w -o random random.cpp
$./random
Espero que seja útil para alguém.
//Gerando numeros reais aleatórios num intervalo [max,min] específico. //Programa para gerar números (pares xy) aleatórios -> gcc & g++ #include<iostream> /*Biblioteca padrão para entrada e saida de dados no console*/ #include<cmath> /*Biblioteca padrão para utilização de funções matematicas(fabs() e sin())*/ #include<ctime> /*Biblioteca de contagem temporal utilizada para gerar a semente do processo*/ #include <cstdlib> /*Biblioteca padrão para utilização das funções (srand() e rand()) utilizadas na geração de número aleatórios*/ using namespace std; int main() { //Declaração das variáveis int c,N,seed; float x,y,xmin,xmax,delta; //Semente baseada no tempo de processamento da CPU. seed=time(0); srand((unsigned)seed); //Definição dos parâmetros: cout << "\t Digite o limite inferior do intervalo\n"; cin >> xmin; cout << "\t Digite o limite superior do intervalo\n"; cin >> xmax; cout << "\t Qual a quantidade de números que devem ser gerados?\n"; cin >> N; delta=xmax-xmin; //Firula cout << "\v\t ##### Gerando " << N <<" pares aleatórios #####\v" << endl; cout << "\t\t > No intervalo [ " << xmin << " , " << xmax << " ]\n" << endl; //Gerando os pares: for (c=1;c<=N;c++) { x=(delta*fabs(sin(rand()))+xmin); y=(delta*fabs(sin(rand()))+xmin); cout << x << "\t" << y << endl; } }
Verificar intervalo de números
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (176)
Erro ao executar o comando para dar um get email (1)