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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación General / ¿Desafios de Programacion? en: 22 Mayo 2013, 04:39 am
Hola a todos :), les queria dejar una pagina Web muy recomendada si buscas desafios de programacion, la pagina en cuestion es http://projecteuler.net y los problemas estan orientados a la area matematica. El tipo de ejercicios que salen planteados te obliga a investigar, pensar y repensar como resolver los ejercicios, a veces se te ocurre como solucionarlo pero te encuentras con que tienes que hacer un algoritmo más eficiente.

Bueno, los dejo entonces, si quieren responder los problemas tienen que registrarse, pueden ver las estadisticas para ver en que lugar estas de en tu pais, etc..., Saludos.

Pd: Les dejo esta pagina para ver la traduccion de algunos ejercicios: http://euleres.tk.
2  Programación / Programación C/C++ / Re: como puedo imprimir con printf sin que se repita tanto por while? en: 13 Mayo 2013, 07:52 am
Si piensa hacer una aplicación de consola porque no simplemente borras la pantalla ?

por cierto es "envio", no "enbio" :P

Bueno tambien esta esa opcion pero me gusta mas lo estandar xD, si lo quieres hacer con un limpiado de pantalla puedes hacer cout << "\E[H\E[2J"; en Linux (o sistemas Unix), o system("cls"); en Windows.

Pd: Creo que para system("cls"); es necesario la libreria ctdlib o stdlib.h, no estoy seguro.
3  Programación / Programación C/C++ / Re: como puedo imprimir con printf sin que se repita tanto por while? en: 13 Mayo 2013, 06:40 am
Si lo quieres hacer estandar, saca el '\n' al final de la cadena y pon un '\r' al principio, con eso deberia bastar.
4  Programación / Programación C/C++ / Re: Problema C++ en: 3 Mayo 2013, 03:13 am
Depende, si el SO que ocupas es Linux esta la cabecera ncurses.h que te podria ayudar, si trabajas en Windows esta el conio.h, hay bastante info util rondando por la web.

Saludos.
5  Programación / Programación C/C++ / Re: [C++] Duda con new y delete[] o delete Tratando de hacer matriz dinamica en: 21 Marzo 2013, 18:03 pm
Claro, si te fijas es lo mismo que has hecho antes pero al reves (y en vez de new poniendo delete claro).

La mejor forma de confirmarlo es intentar acceder a la posición (0,0), si la aplicación se cierra inesperadamente = Has tocado memoria que no deberías tocar = No tienes memoria reservada.

Gracias compadre, despues de publicar el mensaje lei bien y me di cuenta de que si estaba bien pero ya me habias respondido, gracias.

EDIT: No se me cerro, pero me dio que despues de liberar la memoria la posicion 0.0 era igual a 0, despues la posicion 1.0 era como 39232131, supongo que esta bien...
6  Programación / Programación C/C++ / Re: [C++] Duda con new y delete[] o delete Tratando de hacer matriz dinamica en: 21 Marzo 2013, 17:52 pm
No solo es una buena práctica de programación, sino que debes hacerlo en programas más grandes cuando ya no necesites esa matriz (o malgastaras memoria).

Si para reservar la matriz tienes que hacer esto:

Código
  1. int** Matriz = new int*[n];
  2.  
  3. for (int i = 0; i < n;i++)
  4.    Matriz[i] = new int[n];

Para borrarla tendrás que hacerlo al reves:

Código
  1. for (int i = 0; i < n;i++)
  2.      delete[] Matriz[i];
  3.  
  4. delete[] Matriz;
  5.  

¿Y eso me sirve aun que haya hecho aparte de lo anterior, esto:

Código
  1. for (i=0; i<n; i++)
  2. matriz1[i] = new int[n];

Que no solo seria un vector dinamico, si no que una matriz dinamica?.
7  Programación / Programación C/C++ / [C++] Duda con new y delete[] o delete Tratando de hacer matriz dinamica en: 21 Marzo 2013, 16:01 pm
Estaba investigando como hacer matrices dinamicas y en una parte lei que podia hacerlo con new, entonces yo lo implemente de esta forma.

Código
  1.    void crearMatriz(int **m) {
  2.            for (i=0; i<n; i++)
  3.            m[i] = new int[n];
  4.     }
  5.  
  6.    int main() {
  7.        int **matriz1;
  8.  
  9.        matriz1 = new int *[n];
  10.  
  11.            crearMatriz(matriz1);

Lo que al parecer me funciona correctamente, el problema es que no se como hacer el delete correspondiente (lei que era una buena practica de programacion hacer el delete aunque la mayoria de los S.O. actuales liberan la memoria al cerrar el programa), ¿alguien me ayuda?.
8  Programación / Programación C/C++ / Re: Tiempo de ejecución en Milisegundos, Linux en: 16 Febrero 2013, 05:38 am
Aun que hasta ahora solo he programado C y practicamente nada en C++ igual me tome el trabajo de limpiar un poco el codigo, espero haberlo hecho bien. Yo te digo que por lo que se, usar sintaxis de C y C++ no es buena practica de programacion, y ademas usas System("PAUSE"); y para linux creo que ni existe ni es bueno usarlo por varias razones. Bueno, lo otro, borre lo que creo era codigo para intentar tomar el tiempo, lo cual me generaba errores en la compilacion, y puse otra forma de tomarlo que por lo menos a mi me funciona en Windows, abajo de dejo el codigo.

Código
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. int main() {
  5.    int i;
  6.    int x = 0, mayor = 0;
  7.    clock_t j,t;
  8.  
  9.    std::cout << "Ingrese X: ";
  10.    std::cin >> x;
  11.  
  12.    int dato[x];
  13.  
  14.    j = clock();
  15.  
  16.    for(i=0; i<x; i++) {
  17. std::cout << "Ingrese dato "<< i + 1 << ": ";
  18. std::cin >> dato[i];
  19. }
  20.  
  21. j = clock() - j;
  22. t = clock();
  23.  
  24. for(i=0; i<x; i++)
  25. if (dato[i] > mayor)
  26. mayor = dato[i];
  27.  
  28. t = clock() - t;
  29.  
  30. std::cout << "\nEl Mayor es: " << mayor << "\n\n";
  31. std::cout << "Se demoro: " << ((float)j)/CLOCKS_PER_SEC << " Segundos en ingresar los datos...\n";
  32. std::cout << "Algoritmo para encontrar al mayor dato se demoro: " << ((float)t)/CLOCKS_PER_SEC << " Segundos\n\n";
  33.  
  34. std::cin.get();
  35. }

Cualquier cosa avisas.

Saludos.
9  Programación / Programación C/C++ / Re: Mejor IDE para C++ Netbeans vs VS vs "Algun otro" en: 14 Febrero 2013, 04:45 am
Yo con Geany he programado desde Pascal hasta C/C++, lo encuentro muy limpio y ordenado...
Ademas que lo puedo usar en Linux, Windows...
10  Programación / Programación C/C++ / Re: Programa de Educacion Asistida por Computadora en C. en: 13 Febrero 2013, 03:46 am
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main (void)
  5. {
  6.   int opcion;
  7.   int ok;
  8.   int ch;
  9.  
  10.   while (1){
  11.      printf("Indica la opcion: ");
  12.      fflush(stdout);
  13.      ok = scanf("%d", &opcion) == 1 && opcion > 0 && opcion < 6;
  14.  
  15.      while ((ch = getchar()) != EOF && ch != '\n')
  16.         ;
  17.  
  18.      if (ok)
  19.         break;
  20.      else
  21.         puts("Opcion no valida, intenta de nuevo...");
  22.   }
  23.   printf("La opcion es la %d\n", opcion);
  24.  
  25.   return EXIT_SUCCESS;
  26. }

Me da lata extender mas el tema e irnos por las ramas, pero tengo una duda, ¿Siempre que quiera mostrar un printf sin que finalize con un '\n' seria conveniente usar un fflush(stdout)?

Y otra cosa que no entendi es el uso de
Código:
while ((ch = getchar()) != EOF && ch != '\n')
         ;
en ese codigo, es decir, probe el codigo sin esa parte y como que el bucle hace un loop infinito y no me puedo ingresar la opcion con scanf("%d", &opcion) si ingreso una opcion invalida, pero no se por que pasa.

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