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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21
81  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
82  Programación / Java / Re: ¿Cómo puedo pasar dos enteros por referencia? en: 16 Abril 2012, 20:04 pm
Muchas gracias, no me había dado cuenta de ese detalle, que descuidado que soy, todo por concentrarme en que mis métodos funcionen bien. Gracias de verdad, creo que el tema queda cerrado.
83  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;
    }
    
    
}
84  Programación / Java / Re: ¿Cómo compilar y ejecutar manualmente una aplicación sencilla desde la consola? en: 16 Abril 2012, 02:15 am
Hola, me intenté hacer lo que me Darhius, pero me salió un mensaje de error en el último (al momento de interpretar mediante:  java Bienvenido1)

El error es:

"   Error: could not open 'C:\Archivos de programa\Java\jre7\lib\i386\jvm.cfg'   "
85  Seguridad Informática / Seguridad / Re: ¿Cómo eliminar virus que envía mensajes a todos mis contactos? en: 14 Abril 2012, 19:49 pm
¿A qué te refieres exactamente con congelar mi cuenta?
86  Seguridad Informática / Seguridad / Re: ¿Cómo eliminar virus que envía mensajes a todos mis contactos? en: 14 Abril 2012, 19:22 pm
¿Pero, esa es mi cuenta principal? ¿Tengo que dejarla?
87  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
88  Programación / Java / Re: ¿Cómo compilar y ejecutar manualmente una aplicación sencilla desde la consola? en: 10 Abril 2012, 13:45 pm
Sí, pero quiero aprender a hacerlo manualmente. ¿Creen que se puede o es necesario siempre configurar el path?
89  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)



90  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:
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines