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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Ayuda - Programación Paralela o Distribuida en C++ en: 13 Noviembre 2011, 17:23 pm
gracias :) ;-) ahora me pondré a investigar, igual agradezco más respuestas :D...

Saludos.
2  Programación / Programación C/C++ / Re: Busqueda binaria de un array desordenado en: 13 Noviembre 2011, 16:55 pm
Hace algún tiempo me dejaron lo mismo como un pequeño ejercicio y esta fue la solución que propuse:

Código
  1. int busqueda_binaria(int *a, int inicio, int fin, int val)
  2. {
  3. if(inicio==fin && a[inicio] != val)
  4. return -1;
  5. int t= fin/2;
  6. if(a[t] == val)
  7. return t;
  8. if(a[t] > val)
  9. return busqueda_binaria(a,inicio,t-1,val);
  10. else
  11. return busqueda_binaria(a,t+1,fin,val);
  12. }
  13.  

Como vez esto se puede mejorar para que funcione en menos lineas, pero eso ya te lo dejo de tarea para ti :).

Saludos.
3  Programación / Programación C/C++ / Re: Ayuda - Programación Paralela o Distribuida en C++ en: 13 Noviembre 2011, 16:40 pm
exacto rir3760, es por eso que busco algunos ejemplos acerca de esto, donde pueda ver como aplicarlo y desarrollar software de esta forma, pues como sabemos los ordenadores tienen cada vez más núcleos y haces que tu software trabaje solo en 1 estás desperdiciando potencial de ordenador, así que me gustaría información de como aplicar este método en un lenguaje como C++.

Saludos.
4  Programación / Programación C/C++ / Re: Ayuda - Programación Paralela o Distribuida en C++ en: 13 Noviembre 2011, 00:38 am
Gracias por la respuesta, pero no es lo que busco.

Si me dejo entender, hay una forma de volver la programación en C++ al paralelo, para que de este modo distribuya la ejecución de distintas tareas en diversos nucleos, por ejemplo:

Tengo un código que aplica 2 for, uno dentro del otro(anidado).

Código
  1. for(int i=0; i < x; i++)
  2. {
  3.     for(int j=0; j < y; j++)
  4.     {
  5.        if(i == j)
  6.            return x+y;
  7.     }
  8. }
  9.  

Entonces lo que hace esto es dividir el primer for a un nucleo y el for anidado en otro nucleo, lo cual permite doble ejecución en la mitad del tiempo. Se que para esto hay que usar algunas librerias y declaraciones pero la verdad no he encontrado nada de ejemplos acerca de esto, mucha teoria y poca práctica y/o ejemplos.

Si alguien tuviera conocimientos acerca de este metodo de programación y me brindara su ayuda le estaria eternamente agradecido.

Saludos.


5  Programación / Programación C/C++ / Re: Calculo de números primos en: 13 Noviembre 2011, 00:22 am
si, pero el está pidieron que utilicemos un flag. Así que hay que cumplir con sus exigencias xD.

Saludos.
6  Programación / Programación C/C++ / Re: Calculo de números primos en: 12 Noviembre 2011, 21:13 pm
te hice un video rápido para ver si te puedo ayudar.

Saludos.
7  Programación / Programación C/C++ / Re: Calculo de números primos en: 12 Noviembre 2011, 18:15 pm
ya mira, cuando haces el FOR, dices: "Declara una variable 'i' que inicie en dos(2) y que se aumente en 1(i++) mientras que sea menor a el valor de 'n'.".

Con esto haces que tu variable 'i' haga el recorrido desde el numero 2 hasta n.
Si vez bien el código que te puse usé la siguiente linea para el FOR:
Código
  1. for(int i=2; i < n && flag==0;i++)
  2.  

Con esto digo: "Declara una variable 'i' que inicie en dos(2) y que se aumente en 1(i++) mientras que mi variable 'i' sea menor que 'n' y además que mi variable 'flag' sea sea exactamente igual a cero(0)".

Si te das cuenta en tu código haces un 'if' donde preguntas si el residuo de tu valor entre el valor que lleva la variable 'i' es cero(0), entonces cambie tu flag a 0, ese valor puedes utilizarlo en el for para que si 'flag' es distinto(!=) de cero(0) entonces continúe con la ejecución del for.

Saludos.
8  Programación / Programación C/C++ / Re: Calculo de números primos en: 12 Noviembre 2011, 16:10 pm
Bueno soy nuevo y se me dio echarle una mano.

Puedes hacerlo con un while o con un for, para el caso recomiendo el for, también puedes usar un flag int o bool, me gusta más el bool, pero bueno te dejo un ejemplo con el bool y otro con el int y también.

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int main()
  5. {
  6. int n;
  7. cin >> n;
  8. int flag=0;
  9. for(int i=2; i < n && flag==0;i++)
  10. {
  11. if(n%i==0)
  12. flag++;
  13. }
  14.  
  15. if(flag==0 || n==1 || n==2)
  16. cout << "Es primo" << endl;
  17. else
  18. cout << "No es primo" << endl;
  19. return 0;
  20. }
  21.  
Este usa el flag en Int
Ahora uno que usa el Flag en bool
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int main()
  5. {
  6. int n;
  7. cin >> n;
  8. bool flag=true;
  9. for(int i=2; i < n && flag;i++)
  10. {
  11. if(n%i==0)
  12. flag=false;
  13. }
  14.  
  15. if(flag || n==1 || n==2)
  16. cout << "Es primo" << endl;
  17. else
  18. cout << "No es primo" << endl;
  19. return 0;
  20. }
  21.  
Este usa el flag en Bool, como ves solo cambian, mmm en realidad no cambia nada xD. :)

Saludos.
9  Programación / Programación C/C++ / Ayuda - Programación Paralela o Distribuida en C++ en: 12 Noviembre 2011, 15:46 pm
Buenas, soy nuevo en la comunidad y me pasé revisando y buscando algo que me ayude a entender un poco mejor la programación paralela o distribuida, de modo que pueda hacer mis programas funcionar en todos los núcleos (procesadores) de un ordenador.

Ya busque mucho en google y sin resultado, muchos papers, proyectos y teoría pero nada práctico.
Me gustaría ver algunos ejemplos de como se aplica esto, que librerías necesito para empezar, como es que funciona y cuales son las ventajas y desventajas que obtengo al usar este tipo de programación.

Si hay algún tema de este tipo, es posible que se me haya pasado por alto, agradecería me brinden el enlace y si en caso yo encuentro algo navegando en la red lo publicaré aquí para ayudar al resto de gente.

Saludos y gracias por su tiempo.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines