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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 [3] 4 5 6
21  Programación / Programación General / (SOLUCIONADO) Ayuda referente a archivos .sublime-build en: 3 Agosto 2014, 02:11 am
Hola, estoy probando el editor de texto Sublime Text 2 para hacer codigo de C++, aunque muchos diran que puedo usar cualquier IDE para facilitarme todo el proceso, es solo que quiero probar otras opciones =)... Ok, la cuestion es esta, me estuve guiando sobre como hacer el archivo .sublime-build, pero no se muy bien como pasarle parametros de manera optima, es decir, esto es lo que tengo:

Código
  1. {
  2. "cmd": ["g++ -Wall ${file_name} EmpleadoPorComision.cpp -o ${file_base_name} && ${file_base_name}.exe"],
  3.   "working_dir": "${file_path}",
  4.   "shell": true
  5. }
  6.  

Fijense como la cadena "EmpleadoPorComision.cpp" esta de manera que no parece optima en comparacion con ${file_name}, no se si exista algun parametro que se le pueda pasar para que reconozca todos los archivos .cpp de una carpeta especifica.

Otra duda, ¿Es factible tener un .sublime-build por cada proyecto que haga? de ser asi, ¿Puedo guardarlo en la misma carpeta del proyecto, o debo guardarlas siempre en la carpeta por defecto donde ella almacena todos los archivos .sublime-build?

A pesar que tengo mas dudas sobre el funcionamiento del editor, esperare que puedan ayudarme con estas que tengo por los momentos =).

Gracias.
22  Programación / Programación C/C++ / Duda: ¿Alguna libreria de C para multihilo? en: 26 Julio 2014, 05:06 am
Hola que tal, como dice el titulo queria saber si existe alguna libreria que trabajara multihilo en C, solo he encontrado la de <thread> pero es C++, gracias.
23  Programación / Ejercicios / Compartiendo un ejercicio de selección aleatoria (C#) en: 7 Junio 2014, 22:24 pm
Hola, como decidi empezar a practicar C# .NET , de lo poco que he podido aprender aqui dejo un ejercicio resuelto de seleccion aleatoria por si a alguien le interesa:

Código
  1. using System;
  2.  
  3. namespace Prueba1
  4. {
  5.    /*
  6.         Un asesino, cansado de elegir sus victimas de la manera habitual, decide hacer la seleccion de una manera mas especial
  7.         para esto decide seleccionarlas aelatoriamente. Cree un programa que le permita agrupar a sus posibles victimas y asignarles
  8.         un numero y que sea el programa quien decida a quien debe asesinar al momento de que le apetesca para esto debe tener en
  9.         consideracion la siguiente condicion:
  10.             *Una vez seleccionado una victima , el sistema debera omitir esta persona en la proxima busqueda,de manera que nunca salga
  11.             la misma posicion dos veces.
  12.      */
  13.    class Program
  14.    {
  15.        static void Main(string[] args)
  16.        {
  17.            Console.WriteLine("--------------Asesino Serial--------------");
  18.            Console.Write("Ingrese cuantas personas se asesinaran: ");
  19.            int victimas = int.Parse(Console.ReadLine());
  20.  
  21.            Asesino asesino = new Asesino(victimas);
  22.  
  23.            while (asesino.cantVictimasAsesinada != victimas)
  24.            {
  25.                Console.WriteLine("Persona asesinada: {0}", asesino.asesinar());
  26.            }
  27.  
  28.            Console.ReadLine();
  29.        }
  30.    }
  31.  
  32.    class Asesino
  33.    {
  34.  
  35.        private int[] victimas;
  36.  
  37.        // Indica el numero de la victima cayo aleatoriamente
  38.        private int victima;
  39.  
  40.        // LLevamos la cuenta de cuantas victimas han sido asesinadas
  41.        private int victimasAsesinadas;
  42.        public int cantVictimasAsesinada { get { return victimasAsesinadas; } }
  43.  
  44.        // Nuestro objeto que trabajara con variables aleatorias
  45.        Random random;
  46.        public Asesino(){ }
  47.        public Asesino(int victimas)
  48.        {
  49.  
  50.            victimasAsesinadas = 0;
  51.            this.victimas = new int[victimas];
  52.            for (int i = 0; i < this.victimas.Length; i++)
  53.            {
  54.                this.victimas[i] = i + 1;
  55.            }
  56.  
  57.            random = new Random();
  58.        }
  59.  
  60.        public int asesinar()
  61.        {
  62.            do
  63.            {
  64.                victima = random.Next(0, victimas.Length);
  65.            } while (victimas[victima] == 0);
  66.  
  67.            // Establecemos la posicion de la casilla en 0 para indicar que la victima ya fue seleccionada
  68.            victimas[victima] = 0;
  69.  
  70.            // Aumentamos el numero de victimas asesinadas
  71.            victimasAsesinadas++;
  72.  
  73.            return victima + 1;
  74.        }
  75.    }
  76. }
  77.  
24  Foros Generales / Foro Libre / Explicar una trayectoria desde la ignorancia en: 25 Abril 2014, 23:06 pm
Hola, no se si el titulo de este post sea el mas correcto, disculpen por eso xD. La cuestion es, investigando en wikipedia me tope con lo que se llama la Banda de Möbius ( http://es.wikipedia.org/wiki/Banda_de_M%C3%B6bius ) y me llamo la atencion ese fenomeno, luego recordando un post que hice hace mas de un mes tambien explicaron algo sobre eso, y se me ocurrio esto:

Si nuestro planeta estuviese rodeado por un anillo de tierra, y ud se encuentra en la época donde se pensaba que la tierra era plana, y para colmo fuese una persona ignorante de conocimiento sobre geometria y matematicas, camina en linea recta( percatandose que no se desvia usando por ejemplo una cuerda), al cabo de muchos dias, evidentemente llegarian al punto desde donde empezaron.

¿ Cómo explicaria ud lo que acaba de ocurrir, siendo una persona ignorante, que no conoce nada de matematicas ni geometria, si siempre camino en linea recta, y su cuerda evidentemente le confirma que asi lo hizo ?

Aqui dejo una imagen sobre lo que me refiero.

Me gustaria leer sus respuestas.

Saludos.

25  Foros Generales / Foro Libre / Las cosas no son del color en que las observamos en: 5 Abril 2014, 18:14 pm
Cuando vemos una flor roja, lo que de verdad sucede es que ella absorbe todos los colores del espectro visible de luz menos el color en que la estamos observando sino que la refleja ( rebota ), por lo tanto al no ser este color parte de ella, lo mas lógico seria decir " Esa flor es de todos los colores menos roja "
26  Foros Generales / Foro Libre / Duda entre una variable "X" e infinito en: 1 Abril 2014, 23:00 pm
Hola, a pesar de haber leido algo sobre infinito hay algo que no me cuadra, sabiendo que infinito es un valor excesivamente grande ( inimaginable ) y la expresion "infinito menos infinito" es una indeterminacion, y "X" puede ser una variable que puede tomar cualquier valor excesivamente grande y cuando hacemos "X - X = 0".

En el momento que tenemos a X, se podria decir que tiene un valor indefinido, mientras que no le demos un valor, por lo tanto de alguna manera debe poseer la naturaleza de infinito ( de indeterminacion ), pero si se puede aplicar "X - X", pero no "infinito menos infinito".

Quien tenga una explicacion a eso le agradeceria, aunque son nociones de matematicas que ya deberia tener claro, me confunde esa eculiaridad de X manteniendose sin valor definido si se puede resolver esa operacion mientras que infinito siendo tambien indefinido no se puede.

27  Comunicaciones / Redes / No puedo acceder a las paginas web en: 30 Marzo 2014, 06:04 am
Hola que tal, hoy se me fue la luz y cuando trate de entrar de nuevo a navegar no podia acceder a la mayoria de las paginas web, en estos momentos uso Tor el cual es el unico que me permite poder acceder a todas las paginas ,ni chrome, ni firefox, ni internet explorer me permiten acceder a ellas, no se si sea que el router se desconfiguro, aunque ya lo configure como de fabrica y en realidad no se a que se deba esto =/ agradeceria mucho que me ayuden.
28  Programación / Programación C/C++ / Ayuda optimizacion busqueda de salida en laberinto en: 28 Marzo 2014, 02:40 am
Hola, aqui les traigo un problema que estoy haciendo sobre, dado un laberinto de 12 x 12 usar la regla de la mano derecha para conseguir la salida del laberinto e indicar si hay salida o no, como tal el programa corre y si encuentra la salida, pero no se si lo esta haciendo de la mejor manera, he aqui el codigo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>     // Para usar funcion de limpiar pantalla
  3. #include <windows.h>    // Para usar funcion de hacer pausa
  4. #define TAM_FIL 12
  5. #define TAM_COL 12
  6.  
  7. using namespace std;
  8.  
  9. typedef struct
  10. {
  11.    int estaEnInicio, estaEnFinal; //----- Para saber cuantas veces nuestro objeto ha estado en el inicio y si esta en el final
  12.    char simbolo;
  13.    int pos_x; //------------------------- Coordenada del objeto en X
  14.    int pos_y; //------------------------- Coordenada del objeto en Y
  15. }Objeto;
  16.  
  17. typedef struct
  18. {
  19.    // ----------------------------------- Simplemente para saber las coordenadas de los puntos X e Y de inicio y fin del laberinto ------------------------------------
  20.  
  21.    int ini_fil;
  22.    int ini_col;
  23.    int fin_fil;
  24.    int fin_col;
  25. }InformacionMapa;
  26.  
  27. void mostrarEstadoMapa( char laberinto[][TAM_COL] );
  28. void recorrerLaberinto( char laberinto[][TAM_COL], InformacionMapa *punto, Objeto *obj );
  29.  
  30. int main( int argc, char* args[] )
  31. {
  32.  
  33.    int cont_fil, cont_col;
  34.  
  35.    InformacionMapa mapa;
  36.    mapa.ini_fil = 2;
  37.    mapa.ini_col = 0;
  38.    mapa.fin_fil = 4;
  39.    mapa.fin_col = 11;
  40.  
  41.    Objeto obj;
  42.    obj.simbolo = 'X';
  43.    obj.estaEnInicio = 0;
  44.    obj.estaEnFinal = 0;
  45.    obj.pos_x = 2;
  46.    obj.pos_y = 0;
  47.  
  48.    char laberinto[TAM_FIL][TAM_COL] = { '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#',
  49.                                         '#', ' ', ' ', ' ', '#', ' ', ' ', ' ', ' ', ' ', ' ', '#',
  50.                                         ' ', ' ', '#', ' ', '#', ' ', '#', '#', '#', '#', ' ', '#',
  51.                                         '#', '#', '#', ' ', '#', ' ', ' ', ' ', ' ', '#', ' ', '#',
  52.                                         '#', ' ', ' ', ' ', ' ', '#', '#', '#', ' ', ' ', ' ', ' ',
  53.                                         '#', '#', '#', '#', ' ', '#', ' ', '#', ' ', '#', ' ', '#',
  54.                                         '#', ' ', ' ', '#', ' ', '#', ' ', '#', ' ', '#', ' ', '#',
  55.                                         '#', '#', ' ', '#', ' ', '#', ' ', '#', ' ', '#', ' ', '#',
  56.                                         '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#', ' ', '#',
  57.                                         '#', '#', '#', '#', '#', '#', ' ', '#', '#', '#', ' ', '#',
  58.                                         '#', ' ', ' ', ' ', ' ', ' ', ' ', '#', ' ', ' ', ' ', '#',
  59.                                         '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'
  60.                                       };
  61.  
  62.    recorrerLaberinto( laberinto, &mapa, &obj );
  63.  
  64.    getchar();
  65. return 0;
  66. }
  67.  
  68. void mostrarEstadoMapa( char laberinto[][TAM_COL] )
  69. {
  70.    int cont_fil, cont_col;
  71.  
  72.    system("cls");
  73.    for( cont_fil = 0; cont_fil < TAM_FIL; cont_fil++ )
  74.    {
  75.        for( cont_col = 0; cont_col < TAM_COL; cont_col++ )
  76.        {
  77.            printf("%c", laberinto[cont_fil][cont_col]);
  78.            printf("  ");
  79.        }
  80.  
  81.        printf("\n\n");
  82.    }
  83.    Sleep(500);
  84. }
  85.  
  86. void recorrerLaberinto( char laberinto[][TAM_COL], InformacionMapa *mapa, Objeto *obj )
  87. {
  88.  
  89.    if( obj->pos_x == mapa->ini_fil && obj->pos_y == mapa->ini_col )
  90.        obj->estaEnInicio++;
  91.    else if( obj->pos_x == mapa->fin_fil && obj->pos_y == mapa->fin_col )
  92.        obj->estaEnFinal++;
  93.  
  94.    while( laberinto[4][11] != obj->simbolo && obj->estaEnInicio == 1 && !obj->estaEnFinal )
  95.    {
  96.        laberinto[obj->pos_x][obj->pos_y] = obj->simbolo;
  97.  
  98.        mostrarEstadoMapa( laberinto );
  99.  
  100.        if( laberinto[obj->pos_x][obj->pos_y + 1] != '#' && laberinto[obj->pos_x][obj->pos_y + 1] != obj->simbolo )
  101.        {
  102.            obj->pos_y++;
  103.            recorrerLaberinto( laberinto, mapa, obj );
  104.        }
  105.        else if( laberinto[obj->pos_x + 1][obj->pos_y] != '#' && laberinto[obj->pos_x + 1][obj->pos_y] != obj->simbolo )
  106.        {
  107.            obj->pos_x++;
  108.            recorrerLaberinto( laberinto, mapa, obj );
  109.        }
  110.        else if( laberinto[obj->pos_x - 1][obj->pos_y] != '#' && laberinto[obj->pos_x - 1][obj->pos_y] != obj->simbolo )
  111.        {
  112.            obj->pos_x--;
  113.            recorrerLaberinto( laberinto, mapa, obj );
  114.        }
  115.        else if( laberinto[obj->pos_x][obj->pos_y - 1] != '#' && laberinto[obj->pos_x][obj->pos_y - 1] != obj->simbolo )
  116.        {
  117.            obj->pos_y--;
  118.            recorrerLaberinto( laberinto, mapa, obj );
  119.        }
  120.        else if( laberinto[obj->pos_x][obj->pos_y - 1] != '#' )
  121.        {
  122.            obj->pos_y--;
  123.            recorrerLaberinto( laberinto, mapa, obj );
  124.        }
  125.        else if( laberinto[obj->pos_x - 1][obj->pos_y] != '#' )
  126.        {
  127.            obj->pos_x--;
  128.            recorrerLaberinto( laberinto, mapa, obj );
  129.        }
  130.        else if( laberinto[obj->pos_x + 1][obj->pos_y] != '#' )
  131.        {
  132.            obj->pos_x++;
  133.            recorrerLaberinto( laberinto, mapa, obj );
  134.        }
  135.        else if( laberinto[obj->pos_x][obj->pos_y + 1] != '#' )
  136.        {
  137.            obj->pos_y++;
  138.            recorrerLaberinto( laberinto, mapa, obj );
  139.        }
  140.  
  141.    }
  142.  
  143.    if( obj->estaEnInicio > 1 )
  144.        printf("\n\n\nNo hay salida en este laberinto.");
  145.    if( obj->estaEnFinal )
  146.        printf("\n\n\nFinal del laberinto encontrado");
  147. }
  148.  

Disculpen el exceso de if-else xD, debo mejorar esa parte.

Nota: Aun no lo he probado con un laberinto distinto con punto de partida y fin distintos.



He probado quitandole la salida y alli si que no hace la busqueda por todas las posibles rutas del laberinto, aunque se que esto seria un problema de backtracking, yo no soy muy experto cuando se trata de recursividad jeje
29  Programación / Programación C/C++ / What's the value of i++ + i++? Bjarne Stroustrup F.A.Q. en: 19 Marzo 2014, 23:49 pm
En este link http://www.stroustrup.com/bs_faq2.html exactamente como es el titulo del post, él explica que este ejemplo:

v[ i ] = i++;

Deberia evitarse ( segun lei ) porque el resultado es indefinido. Por como tengo entendido, como el operador esta en post-incremento, él asignaria el valor de "i" a la variable y luego se incrementa el valor de "i", ¿ O fue que entendi mal lo que quiso explicar el señor Stroustrup?
 

30  Programación / Programación C/C++ / Buscando compañeros de practica en SDL 2 en: 9 Marzo 2014, 01:27 am
Hola, he estado practicando lo que ofrece SDL 2, y queria saber si alguno estaba interesado en aprender esta libreria, no soy experto en ella como tal, pero trato de aprender lo mas que ofrece, si alguno desea aprender me puede enviar un mensaje privado para pasarle mi correo.  :)
Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines