viciado 1 Denunciar post Postado Outubro 11, 2009 Tem como gerar numeros aleatórios dentro de um intervalo, por exemplo, números entre 5 e 10. Eu seu que rand gera mais a partir de 0. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Outubro 11, 2009 gere numeros de 0 a 5, e no resultado adicione 5 []s Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Outubro 11, 2009 gere numeros de 0 a 5, e no resultado adicione 5 []s É que de 5 a 10 fica fácil, mais de 1 a 9. O que eu estou tentando fazer é preencher um vetor V[9] com números aleátorios de 0 a 9 sem repedir os números Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Outubro 12, 2009 Isso é um problema matemático! Olha só, 2*5^3000 (mod 5) = 2 Isso te diz algo? A aritimética modular te permite "restringir" números. Lembrando ainda que (mod m) é apenas uma REPRESENTAÇÃO numérica. Logo. Números Aleatórios num intervalo de a à b: a + (Rand() (mod b-a)); Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Outubro 13, 2009 Isso é um problema matemático! Olha só, 2*5^3000 (mod 5) = 2 Isso te diz algo? A aritimética modular te permite "restringir" números. Lembrando ainda que (mod m) é apenas uma REPRESENTAÇÃO numérica. Logo. Números Aleatórios num intervalo de a à b: a + (Rand() (mod b-a)); Algo do tipo: 1 + rand()%9 Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Outubro 14, 2009 Exatamente! Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Novembro 3, 2009 Desculpa. Estava sem tempo, tentei aqui é não aparece mensagem de erro porém o programa não exibe os valores #include <cstdlib> #include <iostream> using namespace std; int teste(int valor, int* v){ int i; for(i=0;i<9;i++){ if(valor==v[i]) return 1; } return 0; } void exibe(int* v){ int i; cout << "Exibindo \n"; for(i=0;i<9;i++) cout << v[i] << endl; } int main() { int i; int v[9] = {0,0,0,0,0,0,0,0,0}; int x = 0; for(i=0;i<10;i++){ x = 1+rand()%9; if(teste(x,v)) v[i] = x; else i--; } exibe(v); system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Novembro 4, 2009 #include <cstdlib> #include <iostream> #include <ctime> using namespace std; bool teste(int valor, int v[], int max){ int i=0; for(;i<=max;i++) if(valor==v) return true; return false; } void exibe(int v[]){ int i=0; cout << "Exibindo " << endl; for(;i<9;i++) cout << v << endl; } int main(){ int i, x; int v[9]; i = x = 0; memset(v,0,sizeof(int)*9); srand(time(NULL)); while(true){ if (i==9) break; x = (1+(rand()%9)); if(!teste(x,v,i)) v[i++] = x; } exibe(v); system("PAUSE>>NULL"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites