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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7 8 9
41  Programación / Programación C/C++ / ¿Me dan una manita en este juego simple en C++? en: 2 Mayo 2012, 18:57 pm
Hola, ayer se me ocurrió tratar de programar un juego en C++ y la verdad que se necesita de bastante ingenio y creatividad. Bueno, estoy usando el Borland C++ 5.02 (un poco antiguo) y me estoy ayudando de las funciones de la librería no estándar conio, como textcolor(), gotoxy(), clrscr(), etc... también uso rand().

Mi juego se trata de una especie de laberinto con minas en donde tienes que mover el cursor mediante las flechas direccionales del teclado, y se trata de llegar desde un posición inicial hasta una posición final (representado por un asterisco *).
Las minas están representados por equis x.

El problema está en que al terminar el juego, ocurre un error inesperado.

Espero que alguien me ayude a terminar mi juego, que es el primero que hago en toda mi vida. Uso el borland C++ 5.02. Muchas gracias.

YA sé que todavía faltan muchas cosas más, pero la lógica me preocupa por ahora.

Usé:
- Funciones en C.
- Paso por valor y por seudoreferencia (paso por valor de la dirección de memoria)
- Punteros
- función rand() de stdlib.h
- gotoxy(), clrscr(), getch() de conio.h
- Estructuras
- Arreglos y cadenas
- Estructuras de control (if, else, switch, for, while, do-while)

El código es el de abajo:
42  Programación / Programación C/C++ / ¿Qué significa o qué hace el código siguiente? (es una curiosidad) en: 27 Abril 2012, 04:59 am
Este código lo he visto como una especie de firmas de varios usuarios y me ha generado la duda de saber si es que significa algo en particular  :rolleyes: :huh: :huh:¿?

Citar
(( 1 / 0 )) &> /dev/null || {
   echo -e "stderrrrrrrrrrrrrrrrrrr";
}
43  Programación / Programación C/C++ / ¿Hay algo que se me escapa de las manos en este código y me genera error? en: 27 Abril 2012, 04:38 am
Hola a todos, resulta que estoy aprendiendo a crear pilas y a realizar las operaciones básicas como creación de pilas, recorrido, inserción de nodos y eliminación de nodos. Creo que voy bien porque todo me estaba saliendo bien. Luego, decidí implementar un menú en mi programa para poder elegir la operación que desea hacer el usuario, y fue recién que me genera problemas. El problema específicamente está en lo siguiente:

El menú es:

Citar
MENU DE OPCIONES

1. Crea Pila
2. Recorre Pila
3. Elimina Nodo
4. Inserta Nodo
0. SALIR
    

Y el error sale cuando elijo la opción cero 0, me sale un mensaje de error y no entiendo el porqué, tal vez hay algo que se me está escapando de las manos.
Estaré agradecido si me ayudan a encontrar el error.

Código:

Código:
#include <stdio.h>

struct Luis {
   int cod;
   struct Luis *punt;      
};

typedef struct Luis Nodo;

Nodo *pila=NULL;
short int llave;

void menu();
Nodo *Crea_Nodo(int cod);
void Crea_Pila(Nodo **h);
void Recorre_Pila(Nodo *h);    
void Elimina_Nodo(Nodo **h);
void Inserta_Nodo(Nodo **h);        
          
int main() {
   menu();  
}

Nodo *Crea_Nodo(int cod) {
   Nodo *aux;
   aux = malloc(sizeof(Nodo));
   aux->cod=cod;
   aux->punt=NULL;
   return aux;
}

void Crea_Pila(Nodo **h) {
   Nodo *aux;
   int i, n, cod;
   printf("\nCreando la Pila...\n");
   llave=1;
   *h = NULL;
   printf("\n\tIngrese la cantidad de Nodos: ");
   scanf("%d", &n);
   puts("");
   for(i=0; i<n; i++) {
      printf("\t> ");
      scanf("%d", &cod);
      if(*h==NULL)
         *h=Crea_Nodo(cod);
      else {
         aux=Crea_Nodo(cod);
         aux->punt=*h;
         *h=aux;
      }
   }
   if(h!=NULL) printf("\n\tLa pila ha sido creada\n");
}

void Recorre_Pila(Nodo *h) {
   printf("\nRecorriendo Pila\n\n");
   if(h==NULL) printf("\n!!! La pila esta vacia !!!\n");
   while(h!=NULL) {
      printf("\t--> %d ", h->cod);
      h=h->punt;              
   }    
   puts("");
}

void Elimina_Nodo(Nodo **h) {
   Nodo *aux;
   char resp;
  
   printf("\nDesea eliminar nodo?\n");
   scanf("%d", &resp);
   if(resp==0) return;
   do{
      if(*h==NULL) {
         printf("\nLa pila esta vacia, no puede seguir eliminando nodos\n");            
         return;
      }
      else {
         aux=(*h)->punt;
         free(*h);
         *h=aux;
      }
      printf("\nDesea seguir eliminando nodos?\n");
      scanf("%d", &resp);
   }while(resp);
}

void Inserta_Nodo(Nodo **h) {
   int num;
   Nodo *aux;
   char resp;
  
   do{
      printf("\nIngrese dato a insertar a la pila: ");    
      scanf("%d", &num);
      if(*h==NULL)
         *h=Crea_Nodo(num);
      else {
         aux=Crea_Nodo(num);
         aux->punt = *h;
         *h=aux;    
      }
      printf("\nDesea seguir insertando datos?");
      scanf("%d", &resp);  
   }while(resp);
}

void menu() {
   short int resp;
   do{
      printf("\n\t\t\tMENU DE OPCIONES\n");
      printf(  "\t\t\t----------------\n\n");    
      printf("\t1. Crea Pila\n");
      printf("\t2. Recorre Pila\n");
      printf("\t3. Elimina Nodo\n");
      printf("\t4. Inserta Nodo\n");
      printf("\t0. SALIR\n");
      printf("\n\t Ingrese opcion ==> ");
      scanf("%d", &resp);
      
      switch(resp) {
         case 1:    
            Crea_Pila(&pila);
            break;
         case 2:
            if(llave==1) Recorre_Pila(pila);
            else puts("\a");
            break;
         case 3:
            if(llave==1) Elimina_Nodo(&pila);    
            else puts("\a");
            break;            
         case 4:
            if(llave==1) Inserta_Nodo(&pila);    
            else puts("\a");
            break;
         default:
            printf("\nAdios\n");    
      }        
   }while(resp>0);
}

Estoy sospechando que el problema está en el módulo MENU, pero no lo encuentro, lo demás veo que está bien porque lo he probado antes sin el MENU
44  Programación / Java / ¿Cómo puedo pasar dos enteros por referencia? en: 16 Abril 2012, 05:35 am
Hola a todos, estoy recién iniciándome en esto de la programación orientada a objetos en el lenguaje de programación Java, y aunque tiene un gran parecido a C y a C++, también es muy diferente en cuanto a los conceptos de clases y objetos, es un modo más natural para programar.

Bueno, estoy tratando de hacer un programa sencillo que permite llenar un vector de 10 elementos y luego ordenarlos mediante un método, este ordenamiento debe de ser del INTERCAMBIO. Todo está bien hasta que llego al momento en el que creo un método que permita realizar el intercambio. Cuando lo compilo y lo interpreto, puedo llenar los datos, pero al final, al mostrarme los resultados, no se ordena. Tal vez hay algo que no me doy cuenta y que está fallando, espero por favor que alguien me ayude a encontrar el error y así poder corregirlo, de paso que aprendo a realizar el paso de parámetros por referencia (o pseudoreferencia al estilo de C)

Ahí va mi código:

Código:

import java.util.*;
        
public class Arreglo2 {
    public static void main(String [] args) {
        int [] p;
        p= new int[10];
        
        llenaVector(p);
        muestraVector(p);
    }
    
    public static void llenaVector(int [] x) {
        Scanner lee=new Scanner(System.in);
        int i;
        
        System.out.println("A continuación va a llenar el vector");
        for(i=0; i<x.length; i++) {
            System.out.print(i+". ");
            x[i]=lee.nextInt();
        }
    }
    
    public static void muestraVector(int [] x) {
        int i;
        System.out.println("Vector: #elementos: "+x.length);
        for(i=0; i<x.length; i=i+1) {
            System.out.printf("x[%2d]=%2d\n", i, x[i]);
        }
    }
    
    public static void ordenaVector(int [] x) {
        int i,j;
        for(i=0; i<x.length-1; i++) {
            for(j=i+1; j<x.length; j++) {
                if(x[i]>x[j]) {
                    intercambia(x,i,j);
                }    
            }
        }
    
    }
    public static void intercambia(int [] x, int i, int j) {
        int temp;
        temp=x[i];
        x[i]=x[j];
        x[j]=temp;
    }
    
    
}
45  Seguridad Informática / Seguridad / ¿Cómo eliminar virus que envía mensajes a todos mis contactos? en: 14 Abril 2012, 18:49 pm
Hola a todos, ayer me di con la sorpresa al abrir mi cuenta de hotmail que se habían enviado un mensaje en inglés a todos mis contactos, en el mensaje que se envió había un hipervínculo que no me atreví a darle clic. Alguien sabe si se trata de un virus? ¿Y cómo podría eliminarlo? Muchas gracias
46  Programación / Java / ¿Cómo compilar y ejecutar manualmente una aplicación sencilla desde la consola? en: 8 Abril 2012, 18:00 pm
Hola a todos, quería que me ayuden en este pequeño problemita que tengo. Ya me instalé el JDK de Java y se encuentra en la siguiente dirección:

C:\Archivos de programa\Java\jdk1.7.0_03\bin

Todavía no he configurado el path. Quiero primero aprender a compilar y ejecutar manualmente mis aplicaciones.

Utilicé el Bloc de Notas y el código fuente es el siguiente:

Código:
public class Bienvenido1 {

    //El método main empieza la ejecución de la aplicación en Java

    public static void main(String args[]) {

        System.out.println("Bienvenido a la programación en Java!");

    }// Fin del método main

} //Fin de la clase Bienvenido1

Este código fuente lo guardé en el disco C: con el siguiente nombre: "Bienvenido1.java".


Ahora abrí el Símbolo del Sistema de WindowsXP y primero hice el proceso de compilar. Para esto ingresé hasta la carpeta bin:

Citar
C:\Archivos de programa\Java\jdk1.7.0_03\bin>

Una vez allí escribí:

Citar
javac c:\Bienvenido1.java

Una vez hecho esto se generó el bytecode o archivo llamado Bienvenido1.class en el disco C:

Ahora para proceder a ejecutar el bytecode mediante la máquina virtual de java escribí lo siguiente:

Citar
java c:\Bienvenido1.class

Al hacer lo anterior me sale el mensaje de error siguiente:
Citar
Error: no se ha encontrado o cargado la clase principal c:\Bienvenido1.class

También intenté escribiendo:

java c:\Bienvenido1
Citar
Error: no se ha encontrado o cargado la clase principal c:\Bienvenido1

java Bienvenido1
Citar
Error: no se ha encontrado o cargado la clase principal Bienvenido1

Luego intenté dirigirme al disco C: subiendo de nivel mediante el comando cd.., una vez que me ubiqué en el disco C: (que es donde se encuentra mis archivos Bienvenido1.java y Bienvenido1.class) escribí lo siguiente:
Citar
C:\>
C:\>java C:\Bienvenido1.class

Y me sale el error siguiente:
Citar
Error: could not open 'C:\Archivos de programa\Java\jre7\lib\i386\jvm.cfg'

¿Alguien me puede ayudar a ejecutar mi programa manualmente (corríjanme en qué me estoy equivocando)?

(Cuando lo hago mediante el NetBeans si se puede todo normal, pero también necesito aprenderlo a hacerlo manualmente, luego configuraré la variable de entorno path de windows)



47  Programación / Java / ¿Cuál es la diferencia entre Biblioteca de clases de Java y un paquete de clase? en: 7 Abril 2012, 20:52 pm
Hola a todos. Esta es una pregunta un poco teórica. Recién estoy iniciándome en esto de la programación en Java y estoy empezando por leer como funciona todo esto.

Les pongo en forma resumida mis conclusiones y luego mi duda que espero sea resuelta, muchas gracias por adelantado.  ;D
Por lo que voy leyendo, veo que todo programa en Java está formado por clases. (Las clases agrupan a su vez a métodos y atributos). Las clases que forman parte de un programa pueden ser creados por el programador o pueden ser clases ya pre-existententes (predefinidas). Estas clases predefinidas se agrupan en grupos llamados Bibliotecas de clases de Java, también conocido como APIs de Java. Según esto, veo que existen varias Bibliotecas o varias APIs de Java (corríjanme si estoy en un error)

Por otro lado leí en otro libro que cuando varias clases están estrechamente relacionadas entre sí se pueden organizar en paquetes (packages).

Entonces con esos conceptos creo que concluyo que UNA BIBLIOTECA DE CLASES DE JAVA y UN API DE JAVA y UN PAQUETE DE JAVA son lo mismo.

Ahora mi duda surge cuando en otro texto leo lo siguiente:

Existe una gran variedad de paquetes ya definidos en la Biblioteca de clases de Java como subpaquetes de los paquetes java y javax.  
?¿?¿?¿?¿?¿?¿?¿?¿  :huh: :huh: :huh: :huh: :huh: :huh:

Si es que paquete y biblioteca son lo mismo entonces el texto me parecería algo ambiguo??¿?¿?¿

Existe una gran variedad de Bibliotecas de clases de Java ya definidos en la Biblioteca de clases de Java como subBibliotecas de clases de Java de los paquetes java y javax.  
?¿?¿?¿?¿?¿?¿?¿?¿  :huh: :huh: :huh: :huh: :huh: :huh:
48  Sistemas Operativos / Windows / ¿No puedo instalar ni desinstalar el JDK para Java? en: 1 Abril 2012, 02:12 am
Hola a todos, tengo un problema con un archivo. Ayer me descargué el JDK de Java, y aparte el NetBeans, lo instalé normal y estaba funcionando.

Hoy quise desinstalar el JDK para volverlo a instalar pero en vez de desinstalarlo usando la herramienta "Agregar o quitar programas" del Panel de Control de Windows, lo que hice fue eliminar todos los archivos manualmente, algunos archivos no se podían eliminar así que como tengo un programa llamado Unlocker, fue este que me permitió eliminar todos los archivos.

Ya sé que no era la manera correcta de desinstalar un programa. Luego, como vi que el nombre programa seguía apareciendo en la lista de programas de la ventana "Agregar o quitar programas", lo que hice fue seleccionar el programa que figuraba en la lista y hacerle click en la opción Quitar, pero me salía un mensaje de error, cómo que necesitaba un archivo para poder eliminarlo (desinstalarlo), el archivo se llama jdk1.7.0_03.msi y el error que me aparece es Error 1316.

Lo que intenté fue reinstalar el JDK pero me sigue saliendo el mismo error, parece que necesita ese archivo para poder reinstalar o desinstalarlo. Ahora no sé cómo solucionarlo, no puedo ni instalarlo, ni desinstalarlo. ¿Alguien que me pueda ayudar?
49  Programación / Programación Visual Basic / ¿Se puede hacer esto en un ComboBox en VB6? en: 24 Marzo 2012, 20:26 pm
Hola, hay algunas cosas que aún no sé como se hace en un comboBox. Por ejemplo, tengo un comboBox con dos opciones las cuales las he agregado en fase de diseño. Ahora, el texto que aparece está vacío, pero quiero que cuando el formulario se presente, aparezca elegida o seleccionada por defecto la primera de las opciones de la lista, no sé si me dejo entender. Porque si no lo hago, al cargar el formulario, el comboBox aparece en blanco y tengo que elegir una opción manualmente con el mouse. Lo que quiero es que ya aparezca seleccionado una de las opciones.

Otro problema que tengo es que no sé cómo hacer para que no se pueda escribir ningún texto en el ComboBox sino solamente hacer clic y elegir. Ya que cuando hago click, aparece el cursor parpadeante parecido a un textBox. Lo que intenté hacer es mediante un procedimiento en el evento KeyPress hacer algo así como:
       KeyAscii = 0
Con esto logré que no se pueda escribir ningún texto, pero no que deje de aparecer el cursor parpadeante. Quiero que cuando haga click en cualquier parte del ComboBox, defrente se despliegue la lista de opciones para elegir. ¿Alguien tiene alguna idea?
50  Foros Generales / Foro Libre / ¿No puedo entrar a una página web en particular? en: 23 Marzo 2012, 23:00 pm
Hola a todos. La verdad que no encontré un foro en donde pueda poner mi duda. Lo que sucede es que no puedo entrar a la página web siguiente:
c.conclase.net

Hace tiempo si podía hacerlo, pero ahora no. En la pc aparece el mensaje: "Esta pagina web no está disponible". Hay muchos que sí pueden entrar. Incluso, cuando hago preguntas en el foro de programación acerca del lenguaje c y c++. Me recomiendan esa página web, pero en mi máquina no se abre. ¿Alguien sabe cómo puedo solucionarlo?
Páginas: 1 2 3 4 [5] 6 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines