|
Mostrar Mensajes
|
Páginas: 1 [2] 3
|
13
|
Programación / .NET (C#, VB.NET, ASP) / Arbol binario Ejemplo
|
en: 21 Abril 2010, 07:18 am
|
Saludos bueno les dejo un ejemplo de un arbol binario que hice en la escuela espero le sirva alguen de ejemplo using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
class arbol
{
private double info;
private arbol izq, der;
// Constructor Nodo
public arbol()
{
info = 0;
izq = null;
der = null;
}
// Apuntador Raiz
public arbol raiz = null;
public void Insertar()
{
arbol p = new arbol();
arbol q = new arbol();
int bandera = 0;
double dato;
p.izq = null;
p.der = null;
Console.Write("Introduce el Dato: ");
dato = Double.Parse(Console.ReadLine());
p.info = dato;
if (raiz == null)
{
raiz = p;
}
else
{
q = raiz;
while (bandera != 1)
{
if (p.info < q.info)
{
if (q.izq == null)
{
q.izq = p;
bandera = 1;
}
else
{
q = q.izq;
}
}
else
{
if (q.der == null)
{
q.der = p;
bandera = 1;
}
else
{
q = q.der;
}
}
}
}
}
public void Preorden(arbol temp)
{
if (temp != null)
{
Console.WriteLine(temp.info);
if (temp.izq != null)
{
Preorden(temp.izq);
}
if (temp.der != null)
{
Preorden(temp.der);
}
}
else
{
Console.WriteLine("\nEl Arbol Binario Esta Vacio");
}
}
public void Inorden(arbol temp)
{
if (temp != null)
{
if (temp.izq != null)
{
Inorden(temp.izq);
}
Console.WriteLine(temp.info);
if (temp.der != null)
{
Inorden(temp.der);
}
}
else
{
Console.WriteLine("\nEl Arbol Binario Esta Vacio");
}
}
public void Posorden(arbol temp)
{
if (temp != null)
{
if (temp.izq != null)
{
Posorden(temp.izq);
}
if (temp.der != null)
{
Posorden(temp.der);
}
Console.WriteLine(temp.info);
}
else
{
Console.WriteLine("\nEl Arbol Binario Esta Vacio");
}
}
public void BusquedaRecursiva(arbol temp, double x)
{
if (temp == null)
{
Console.WriteLine("\nEl Nodo {0:F2} NO Esta en el Arbol Binario", x);
}
else
{
if (x == temp.info)
{
Console.WriteLine("\nEl Nodo {0:F2} SI Esta en el Arbol Binario", x);
}
else
{
if (x < temp.info)
{
BusquedaRecursiva(temp.izq, x);
}
else
{
BusquedaRecursiva(temp.der, x);
}
}
}
}
public void BusquedaIterativa(arbol temp, double x)
{
bool encontrado = false;
while (temp != null && encontrado == false)
{
if (x == temp.info)
{
encontrado = true;
}
else
{
if (x < temp.info)
{
temp = temp.izq;
}
else
{
temp = temp.der;
}
}
}
if (encontrado == false)
{
Console.WriteLine("\nEl Nodo {0:F2} NO Esta en el Arbol Binario", x);
}
else
{
Console.WriteLine("\nEl Nodo {0:F2} SI Esta en el Arbol Binario", x);
}
}
public void Eliminar()
{
arbol p, q, v, s, t;
bool encontrado;
double x;
p = raiz;
q = null;
encontrado = false;
if (p != null)
{
Console.Write("¿Nodo a Eliminar?: ");
x = Int32.Parse(Console.ReadLine());
while (p != null && encontrado == false)
{
if (p.info == x)
{
encontrado = true;
Console.WriteLine("\nEl Nodo {0:F2} Sera Eliminado del Arbol Binaraio", p.info);
}
else
{
q = p;
if (x < p.info)
{
p = p.izq;
}
else
{
p = p.der;
}
}
}
if (encontrado == true)
{
if (p.izq == null)
{
v = p.der;
}
else
{
if (p.der == null)
{
v = p.izq;
}
else
{
t = p;
v = p.der;
s = v.izq;
while (s != null)
{
t = v;
v = s;
s = v.izq;
}
if (t != p)
{
t.izq = v.der;
v.der = p.der;
}
}
v.izq = p.izq;
}
if (q == null)
{
raiz = v;
}
else
{
if (p == q.izq)
{
q.izq = v;
}
else
{
q.der = v;
}
}
}
else
{
Console.WriteLine("\nEl Nodo {0:F2} NO Esta en el Arbol Binario", x);
}
}
else
{
Console.WriteLine("\nEl Arbol Binario Esta Vacio");
}
}
}
static void Main(string[] args)
{
int opcion;
double x;
arbol objeto = new arbol();
do
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\t\t\t\t\tMenu Arboles Binarios\n");
Console.WriteLine("1.- Insercion Nodos");
Console.WriteLine("2.- Recorrido Preorden");
Console.WriteLine("3.- Recorrido Inorden");
Console.WriteLine("4.- Recorrido Posorden");
Console.WriteLine("5.- Busqueda Recursiva");
Console.WriteLine("6.- Busqueda Iterativa");
Console.WriteLine("7.- Eliminacion Nodos");
Console.WriteLine("8.- Salir del Programa");
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\nopcion ☻☺: ");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
Console.Clear();
objeto.Insertar();
break;
case 2:
Console.Clear();
objeto.Preorden(objeto.raiz);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 3:
Console.Clear();
objeto.Inorden(objeto.raiz);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 4:
Console.Clear();
objeto.Posorden(objeto.raiz);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 5:
Console.Clear();
Console.Write("Dato a Buscar: ");
x = Double.Parse(Console.ReadLine());
objeto.BusquedaRecursiva(objeto.raiz, x);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 6:
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Console.Write("Dato a Buscar: ");
x = Double.Parse(Console.ReadLine());
objeto.BusquedaIterativa(objeto.raiz, x);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 7:
Console.Clear();
objeto.Eliminar();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Continuar");
Console.ReadLine();
break;
case 8:
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\nPresione enter Para Salir del Programa");
Console.ReadLine();
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\nOpcion Invalida");
break;
}
} while (opcion != 8);
}
}
}
|
|
|
15
|
Programación / .NET (C#, VB.NET, ASP) / Torres de hanoi
|
en: 21 Marzo 2010, 01:20 am
|
saludos aqui les dejo un ejemplo de las torres de hanoi espero alguien le sirva using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace program_torres_de_hanoi_ { class Program { class torres {
public int movimientos = 0; public void hanoi(int n, string origen, string auxiliar, string destino) {
if (n == 1) { Console.WriteLine("Mover un disco de " + origen + " a " + destino); movimientos += 1; } else { hanoi(n - 1, origen, destino, auxiliar); Console.WriteLine("Mover un disco de " + origen + " a " + destino); movimientos += 1; hanoi(n - 1, auxiliar, origen, destino); } } }
static void Main(string[] args) {
string origen = "Torre 1 ORIGEN", auxiliar = "Torre 2 AUXILIAR", destino = "Torre 3 DESTINO"; torres hanoi1 = new torres(); int respuesta = 1; do { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Torres de hanoi"); Console.Write("Discos: "); int n = int.Parse(Console.ReadLine()); hanoi1.hanoi(n, origen, auxiliar, destino); Console.WriteLine("Total de movimientos:" + hanoi1.movimientos); Console.ReadLine(); Console.Write("\n\n\tMeter otro numero 1=Si y 2=No: "); respuesta = int.Parse(Console.ReadLine()); } while (respuesta == 1); } } }
|
|
|
17
|
Programación / .NET (C#, VB.NET, ASP) / ordenacion burbuja
|
en: 17 Marzo 2010, 06:21 am
|
saludos aqui les dejo un ejemplo de la ordenacion burbuja es un ejemplo que hice en la escuela espero les sirva de algo using System; using System.Collections.Generic; using System.Text;
namespace ConsoleApplication1 { class Burbuja { public int[] burb; public int[] temp; public Burbuja() { burb = new int[20]; temp = new int[20]; } public void Generar() { Random r = new Random(); for (int j = 0; j < burb.Length; j++) { burb[j] = r.Next(100); temp[j] = burb[j]; } } public void Ordenar() { for (int k = 1; k < burb.Length - 1; k++) { for (int y = 0; y < burb.Length - k; y++) { if (burb[y] > burb[y + 1]) { int te = burb[y]; burb[y] = burb[y + 1]; burb[y + 1] = te; } } } } public void Despliegued() { for (int i = 0; i < burb.Length; i++) { int con = 1; Console.Write("{0}\t", "[" + temp[i] + "]"); if (con == 5) { Console.Write("\n"); con = 0; } con++; } } public void Despliegueo() { for (int i = 0; i < burb.Length; i++) { int con = 1; Console.Write("{0}\t", "[" + burb[i] + "]"); if (con == 5) { Console.Write("\n"); con = 0; } con++; } } } class Program { static void Main(string[] args) { Burbuja b = new Burbuja(); int op;
Menu: Console.Clear(); Console.WriteLine(" Menu"); Console.WriteLine(); Console.WriteLine("1.- Generar valores"); Console.WriteLine("2.- Despliegue(desordenado)"); Console.WriteLine("3.- Despliegue burbuja"); Console.WriteLine("4.- Salir"); Console.WriteLine(); Console.Write("opcion: "); op = int.Parse(Console.ReadLine()); switch (op) { case 1: b.Generar(); Console.WriteLine("Valores generados"); Console.ReadLine(); goto Menu;
case 2: Console.WriteLine("Despligue desordenado"); b.Despliegued(); Console.ReadLine(); goto Menu;
case 3: Console.WriteLine("Despligue Burbuja"); b.Ordenar(); b.Despliegueo(); Console.ReadLine(); goto Menu;
case 4: break;
default: Console.WriteLine("Opcion incorrecta"); Console.ReadLine(); goto Menu; } } } }
|
|
|
20
|
Seguridad Informática / Hacking / Re: [Metasploit + 0-day IE] Exploit IE_Aurora
|
en: 22 Enero 2010, 05:39 am
|
umm tengo un problema por que cuando pongo en la url el http://192.168.0.2:8080/ en explorer,en el metasploit me sale sending microsoft internet explorer "aurora" memory corruption to client http://192.168.0.2:8080/ y de esa parte ya no pasa? alguien sabe cual es el problema? saludos
|
|
|
|
|
|
|