Título: Funcion randomica dev c++ Publicado por: JulCesa en 22 Noviembre 2011, 16:20 pm Hola necesito una pequeña ayuda con la funcion random(Aleatoria) en dev c++ quiero que este codigo el usuario escoja n y el l arreglo se llene randomicamente dependiendo el numero que se haya digitado (MI duda esta en el metodo main) o si se puede n randomico y el llenado del vector randomico seria genial, he leido sobre srand rand(); pero no he podido implementarlo
desde ya muchas gracias por su ayuda y por sus respuestas Citar #include <cstdlib> #include <iostream> using namespace std; //metodo donde buscamos el elemento mayor int mayoritario(int *p, int i, int f, int *mayor) { if(f-i == 0) { *mayor = p; return 1; } int m = (i+f)/2, mayor1, mayor2, c1, c2; c1 = mayoritario(p, i, m, &mayor1); c2 = mayoritario(p, m+1, f, &mayor2); if(mayor1 == mayor2) { *mayor = mayor1; return c1 + c2; } else{ if(c1>c2) { *mayor = mayor1; return c1-c2; } else { *mayor = mayor2; return c2-c1; } } } bool comparar(int *p, int n, int mayor) {//comparamos el arreglo con todos los numeros del vector guardados en el arreglo y miramos cual esta repetido int c=0; for(int i=0; i<n; i++) { if(p == mayor) { c++; } } return (c>n/2); } int main() { int *p, n;//declaracion printf("\t\tELEMENTO MAYORITARIO USANDO LA TECNICA DIVIDE Y VENCERAS\n"); printf("\t\t==========Paradigmas Y Tecnicas De Programacion=========\t\n"); printf("Digite El Tamano Del Vector \n");//Mensaje scanf("%d", &n);//Obtencion del tamaño de datos p = new int [n];//Creacion del vector for(int i=0; i<n; i++) {//llenado printf("Digite El Num %d: ",i); scanf("%d", &p); } int mayor, c; if(mayoritario(p, 0, n-1, &mayor) > 0) { if(comparar(p, n, mayor)) { printf("El Elemento Mayoritario Es %d \n ", mayor); system("PAUSE"); } else { printf("No Existe Elemento Mayoritario \n "); system("PAUSE"); } } else { printf("No Existe Elemento Mayoritario \n"); system("PAUSE"); } return 0; } Título: Re: Funcion randomica dev c++ Publicado por: RyogiShiki en 22 Noviembre 2011, 18:50 pm Bueno, lo primero es que uses GeSHi envés de citar el código.
En segundo lugar como es eso de que no pudiste usar rand() y srand()? A ver, para generar numeros pseudoaleatorios que no se repitan entre ejecuciones o llamadas a funiones necesitas plantar una semilla, esto se hace con srand, generalmente se usa el tiempo porque es un dato que varia en todo momento, para plantar la semilla haces lo siguiente: Código
Una vez hecho esto puedes obtener números pseudoaleatorios de la siguiente manera: Código
Ahora si lo que quieres es obtener un numero entro en un rango puedes hacer lo siguiente: Código
Ahora si quieres relenar un arreglo con números aleatorios digamos entre 20 y 30: Código
Saludos Título: Re: Funcion randomica dev c++ Publicado por: JulCesa en 22 Noviembre 2011, 20:42 pm RyogiShiki
men te debo la vida muchisisisssisisissssisisisisimas gracias por tu explicacion tan excelente de verdad muchas gracias jejej y disculpa lo de GeShi Título: Re: Funcion randomica dev c++ Publicado por: RyogiShiki en 22 Noviembre 2011, 20:49 pm Bien, por nada. me alegra que te haya sido de ayuda.
Saludos |