elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funcion randomica dev c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion randomica dev c++  (Leído 2,930 veces)
JulCesa

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Funcion randomica dev c++
« 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;
}



En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Funcion randomica dev c++
« Respuesta #1 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
  1. #include <ctime>
  2. #include <cstdlib>
  3.  
  4. srand(time(NULL));
  5.  

Una vez hecho esto puedes obtener números pseudoaleatorios de la siguiente manera:

Código
  1. int random = rand();
  2.  

Ahora si lo que quieres es obtener un numero entro en un rango puedes hacer lo siguiente:

Código
  1. int random = rand() % 100; //Genera números entre 0 y 99
  2. int random2 = rand() % 100 + 1; //Genra numeros de 0 a 100
  3. int random3 = rand() % 10 + 20; // Genera numeros entre 20 y 30
  4.  

Ahora si quieres relenar un arreglo con números aleatorios digamos entre 20 y 30:

Código
  1. #include <cstdlib>
  2. #include <ctime>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.    srand(time(NULL));
  9.    int arr[10];
  10.    int random = 0;
  11.  
  12.    for (int i = 0; i < 10; i++) {
  13.        random = rand() % 10 + 20;
  14.        arr[i] = random;
  15.  
  16.        cout << arr[i] << endl;
  17.    }
  18.  
  19.    return 0;
  20. }
  21.  

Saludos


« Última modificación: 22 Noviembre 2011, 19:40 pm por RyogiShiki » En línea

JulCesa

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Funcion randomica dev c++
« Respuesta #2 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
En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Funcion randomica dev c++
« Respuesta #3 en: 22 Noviembre 2011, 20:49 pm »

Bien, por nada. me alegra que te haya sido de ayuda.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
manejo de argumentos en funcion dentro de funcion ???
PHP
SpiderNet 2 3,431 Último mensaje 30 Septiembre 2008, 03:01 am
por SpiderNet
Duda con funcion dentro de funcion en un echo
PHP
N4X 6 5,863 Último mensaje 21 Enero 2010, 18:12 pm
por N4X
* [Source+Funcion+vb6] AceptarConeccion (Sencilla funcion)
Programación Visual Basic
BlackZeroX 0 2,705 Último mensaje 19 Abril 2010, 00:54 am
por BlackZeroX
funcion como argumento a otra funcion
Programación C/C++
Dark Invader 5 4,848 Último mensaje 29 Junio 2011, 20:52 pm
por Dark Invader
Funcion randomica dev c++
Programación C/C++
JulCesa 0 1,382 Último mensaje 22 Noviembre 2011, 04:01 am
por JulCesa
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines