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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Listas simples (Insertar Buscar) en: 29 Noviembre 2018, 06:37 am
Hola a todos.

Tengo mis métodos para buscar, eliminar Inicio, eliminar Final,Agregar Inicio, Agregar al Final, pero no he podido desarrollar los métodos para:

Buscar y Eliminar, el elemento buscado
Insertar elemento en la posición que indique el usuario.

He leido varios post, pero no he encontrado la solución.

Esto necesito hacerlo en listas simples y Doblemente enlazadas en JAVA, les comparto mis métodos y clases:

Código:
//Clase nodo
package asesorialistas;
/*@author Daniel Solis*/
public class Nodo{
   
public int Dato;
public Nodo Sig;//Puntero Enlcae recursivo
//Enlaza los diferentes nodos


//Constructor inicializar nodos
public Nodo(int d){
//Para crear un nodo final
this.Dato=d; 
}
//Constructor para insertar al inicio
public Nodo(int d, Nodo n){
this.Dato=d;
this.Sig=n;
    }
}

//Metodos Lista

package asesorialistas;
/*@author Daniel Solis*/
public class Lista {
//Creando punteros
protected Nodo Inicio, Fin; //Punteros para saber donde inica y donde termina
//Donde esta el Inicio y Fin
public Lista(){
Inicio=null;
Fin=null;
    }
/*----------------------------------------------------------------------------*/
//Metodo para agregar al incio de la lista
public void AgregarInicio(int Elemento){
//Creando el nodo
Inicio = new Nodo(Elemento,Inicio);//Creando el Nodo
if(Fin==null){
    Fin=Inicio;
    }
}
/*----------------------------------------------------------------------------*/
//Metodo para agregar al final
public void AgrearFin(int Elemento){
    if (!EstaVacia()) {
      Fin.Sig=new Nodo(Elemento);
      Fin=Fin.Sig;   
    }else{
        Inicio=Fin=new Nodo(Elemento);
    }
}
/*----------------------------------------------------------------------------*/
//Metodo para mostrar la lista
public void Mostrar(){
Nodo recorrer=Inicio;
while (recorrer!=null){
    System.out.print("["+recorrer.Dato+"]");
    recorrer=recorrer.Sig;
    }
}
/*----------------------------------------------------------------------------*/
//Metodo esta la lista Vacia
public boolean EstaVacia() {
    return Inicio==null; 
}
/*----------------------------------------------------------------------------*/
public int BorrarInicio(){
        //creando el nodo
        int Elemento = Inicio.Dato;
        if(Inicio==Fin){
            Inicio = Fin = null;
        }
        else{
            Inicio=Inicio.Sig;
        }
        return Elemento;
}
/*----------------------------------------------------------------------------*/
public int BorrarFinal(){
        int Elemento = Fin.Dato;
        if(Inicio==Fin){
            Inicio = Fin = null;
        }else{
            Nodo temporal = Inicio;
            while(temporal.Sig != Fin){
                temporal = temporal.Sig;
            }
            Fin = temporal;
            Fin.Sig = null;
        }
        return Elemento;
}
/*----------------------------------------------------------------------------*/
public boolean BuscarElemento (int elemento){
    Nodo temporal=Inicio;
    while (temporal!=null&& temporal.Dato!=elemento)
    {
    temporal=temporal.Sig;
    }
    return temporal!=null;
    }

public boolean BuscarElementoEsp (int elemento){
    Nodo temporal=Inicio;
    while (temporal!=null&& temporal.Dato!=elemento)
    {
    temporal=temporal.Sig;
    }
    return temporal!=null;
    }
}

//Clase Principal

package asesorialistas;
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
/*@author Dany*/
public class Principal {
    public static void main(String[] args) {
        //crear instancias de las clases
        Lista Listita = new Lista();
        //menu do while
        int opcion = 0;
        int Elemento; //valor a la lista (para insertar)
       
        do {
            try {
                opcion = Integer.parseInt(JOptionPane.showInputDialog(null, "***  MENU DE OPCIONES  ***\n"
                        + "1.- Agregar un Elemento al Inicio \n"
                        + "2.- Agregar un Elemento al Final \n"
                        + "3.- Mostrar los Elementos de las listas \n"
                        + "4.- Checar si la lista esta vacia \n"
                        + "5.- Borrar Elemento al inicio \n"
                        + "6.- Borrar Elemento al final \n"
                        + "7.- Buscar Elemento \n"
                        + "8.- Buscar Elemento y eliminar elemento \n"
                        + "9.- Salir \n"));

                switch(opcion){
                   
                    case 1:
                        try {
                            Elemento = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa el Elemento "
                                    + "al inicio"));
                            Listita.AgregarInicio(Elemento);
                        } catch (NumberFormatException e) {
                            JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
                        }
                        break;
                       
                    case 2:
                                                try {
                           Elemento = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa el Elemento "
                                    + "al final"));
                            Listita.AgrearFin(Elemento);
                        } catch (NumberFormatException e) {
                            JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
                        }
                        break;
 
                    case 3:
                        Listita.Mostrar();
                        System.out.println("");
                        break;
                       
                    case 4:
                        Listita.EstaVacia();
                        break;
                       
                    case 5:
                        try {
                            Elemento = Listita.BorrarInicio();
                            JOptionPane.showMessageDialog(null, "El Elemento eliminado es: "
                                    +Elemento,"Eliminando nodo de inicio",
                                    JOptionPane.INFORMATION_MESSAGE);
                           
                        } catch (NumberFormatException e) {
                            JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
                        }
                        break;
                       
                     case 6:
                        try {
                            Elemento = Listita.BorrarFinal();
                            JOptionPane.showMessageDialog(null, "El Elemento eliminado es: "
                                    +Elemento,"Eliminando nodo de fin",
                                    JOptionPane.INFORMATION_MESSAGE);
                           
                        } catch (NumberFormatException e) {
                            JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
                        }
                        break;
                       
                        case 7:
                            Elemento=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa el "+" elemento a buscar...","Buscando nodos en la lista",
                                    JOptionPane.INFORMATION_MESSAGE));
                            if (Listita.BuscarElemento(Elemento)==true) {
                            JOptionPane.showMessageDialog(null, "El elemento " + Elemento + " si esta en la lista",
                                        "nodo encontrado",JOptionPane.INFORMATION_MESSAGE); 
                            }else{JOptionPane.showMessageDialog(null, "El elemento " + Elemento + " no esta en la lista",
                                        "nodo no encintrado",JOptionPane.INFORMATION_MESSAGE);       
                            }   
                        break;
                       
                        case 8:
                            Elemento=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa el "+" elemento a buscar...","Buscando nodos en la lista",
                                    JOptionPane.INFORMATION_MESSAGE));
                            if (Listita.BuscarElemento(Elemento)==true) {
                            int resp = JOptionPane.showConfirmDialog(null, "El elemento " + Elemento + " si esta en la lista quieres eliminarlo");
                                    if (JOptionPane.OK_OPTION == resp){
                                            System.out.println("Eliminar registro");
                                            }else{System.out.println("No Eliminar");
                                        }
                            }else{JOptionPane.showMessageDialog(null, "El elemento " + Elemento + " no esta en la lista",
                                        "nodo no encintrado",JOptionPane.INFORMATION_MESSAGE);       
                            }   
                        break;     
                }
            } catch (HeadlessException | NumberFormatException e) {
                JOptionPane.showMessageDialog(null,"Error"+ e.getMessage());
            }
        } while (opcion != 9);
       
    }
}

Espero puedan darme una mano con este ejercicio, saludos.

DS
2  Programación / .NET (C#, VB.NET, ASP) / Importar registros C# y Access en: 27 Agosto 2018, 10:35 am
Hola a todos.

Tengo mi aplicacion C# conectada con una base de datos Acess en Servidor.

La idea es que desde ese mismo servidor en otra ruta especifica se suba otra base de datos con la misma arquitectura que la Base de Datos conectada a C#.

Lo que se pretende es con un boton de comando, borrar todos los registros de la base de datos conectada a C# y posterior a eso importar los registros de la Base de datos que esta base de datos.

Alguien tiene una idea o ejemplo de como poder hacer eso.

Se los agradeciera mucho.

Saludos

DS
3  Programación / Programación General / Enviar datos de Windows Form C# a TextBox de Pagina WEB ASP.NET en: 23 Agosto 2018, 04:34 am
Que tal a todos,

Estoy tratando de enviar datos de mi Windows Form C# a una pagina web ASP.NET, la pagina no es diseñada por mi por lo cual no puedo enviar algun metodo POST con otra pagina que yo pueda diseñar y la Base de Datos a la cual esta enlazada tampo tengo acceso.

La pagina recibe los datos en un TextBox de forma manual o por medio de un Escaner, multiples usuarios pueen hacer eso pero son pocos los registros que ellos introducen al día.

Lo que yo necesito hacer es algo similar pero con una aplicacion Externa y necesito ingresar varios cientos de registros en solo evento.

Por ello estoy intentando enviar datos desde un listbox y el uso de SendKeys y envio de Procesos.
Estoy tratando de hacerlo con este codigo pero no me ha funcionado:

Código:
<pre>public int Process(string Name) {
        string NomProcess;
        System.Diagnostics.Process[] Process1 = System.Diagnostics.Process.GetProcesses();
        System.Diagnostics.Process[] Process2 = System.Diagnostics.Process.GetProcesses();
        int ct1;
        for (ct1 = 0; (ct1 <= Process2.GetUpperBound(0)); ct1++) {
            NomProcess = Process2[ct1].MainWindowTitle;
            if ((Name== NomProcess)) {
                return Process2[ct1].Id;
               
            }
           
        }
       
    }

Código:
private void Btn_ProcessNP_Click(object sender, System.EventArgs e) {
        object ReturnValue;
        int x = 0;
        ReturnValue = Process("ECM");
        string[] Texts = TxtPaste.Text.Split({, "\r\n", "\r", "\n");
        StringSplitOptions.RemoveEmptyEntries;
        LstParts.DataSource = Texts;
        LstParts.Refresh();
        LblContador.Text = LstParts.Items.Count;
        try {
            AppActivate(ReturnValue);
            //  Activate
            foreach (string Text in Texts) {
                Clipboard.Clear();
                Clipboard.SetText(Text);
                Thread.Sleep(3000);
                SendKeys.Send("^v");
                SendKeys.Send("{DOWN}");
                this.LstParts.SelectedIndex = x;
                x++;
            }
           
            MsgBox("Process Finished", MsgBoxStyle.Information, "Finish....!");
            // TODO: Labeled Arguments not supported. Argument: 3 := 'Title'
        }
        catch (Exception ex) {
            MsgBox(("ECM not open " + ("\r\n" + "ERROR ..!")), MsgBoxStyle.Critical, "WARNING");
        }
       
    }



Espero alguien pueda ayudarme.

Saludos

DS
4  Programación / Programación C/C++ / Error en sintaxis Do While en: 12 Agosto 2017, 05:54 am
Hola cordiales saludos a todos.

Tengo un problema en la sintaxis del siguiente código, no me marca ningún error, la idea es ingresar un numero entre 777 y 700077 y si esta fuera de este rango mostrar un mensaje "Numero fuera del rango" si esta dentro del rango entonces mostrar "Numero dentro del rango" y mostrar la cantidad de dígitos que tiene el numero ejemplo si es 1000 el numero tiene 3 caracteres, si es 45025 el numero tiene 5 caracteres, repito no me marca error pero me muestra el mensaje tantas veces la cantidad de dígitos que tiene el numero ingresado.

EDITO: El ejercicio necesito realizarlo en Do While
Si pudieran de favor ayudarme se los agradeceria:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int i=1,n1,Min=737,Max=700077;
    system("color 0B");
    
    printf("Programa que cuenta los digitos del numero introducido: ");
    scanf("%d",&n1);
 

 do{
  if((n1>Min)&&(n1<Max))
        {
        printf("El numero cumple la condicion:\n", n1);
}
        else
        {
        printf("El numero no cumple la condicion:\n", n1);
}

        n1=n1/10;
        i++;
    }
   
    while(n1/10>0);
    
    printf("Tiene %u caracteres",i);
    
    getch();
    return 0;
}

Saludos

DS
5  Programación / Programación C/C++ / Ayuda con ecuacion e If en: 5 Julio 2017, 19:41 pm
Saludos cordiales nuevamente a todos, espero aprender mucho en este foro y poder realizar tambien algun apote.

Tengo que realizar 20 ejercicios de los cuales tengo problemas en 2 de ellos:

El primero:
Realizar un programa en C  que lea tres números e imprima el menor y el mayor de los tres únicamente y usando solo if.

Código:
   
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()

{
int a, b, c;

system("color 0C");

printf("Leer tres numeros  y mostrar el Mayor y Menor de los tres:  \n");

    printf("Ingrese tres numeros: ");
    scanf("%d%d%d", &a, &b, &b);
   
   
//Buscamos el Mayor
    if( a>=b && a>=c )
        printf("%.2d El numero mas grande es:\n", a);

    if( b>=a && b>=c )
        printf("%.2d El numero mas grande es:\n", b);

    if( c>=a && c>=b )
        printf("%.2d El numero mas grande es:\n", c);
   
   
    //Buscamos el Menor
    if( a<b && a<c )
        printf("%.2d El numero menor es:\n", a);

    if( b<a && b<c )
        printf("%.2d El numero menor es:\n", b);

    if( c<a && c<b )
        printf("%.2d El numero menor es:\n", c);
       
getch();
    return 0;
}

El mayor si me lo muestra pero no el menor.

Segundo:

Hacer un programa en Lenguaje C  que resuelva la siguiente Ecuación: a/b+c/d=(ad+bc)/bd

Esta ecuacion como se realiza en C?

Gracias por la ayuda que se me pueda brindar.

Saludos

DS
6  Programación / Programación General / Plataforma para ver reportes en Mobil en: 11 Enero 2016, 03:03 am
Hola cordiales saludos a todos.

Espero no equivocarme y esta pregunta valla en este foro.

Mi pregunta que plataforma me sugieren para crear una aplicacion para dispositivos moviles, la aplicacion debe de mostrar reportes de una base de datos PostGreSQL y Power BI de Windows (en que plataforma puedo generar los reportes)  para poder verlos en la aplicacion desde un movil.

Espero puedan orientarme o algun ejemplo, agradezco de antemano la ayuda que puedan brindarme.

Saludos

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