muy buena gracias
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú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);
}
}
}
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);
}
}
}
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;
}
}
}
}