Está en la página 1de 3

int[] ArregloOrig = new int[10];

int[] ArregloOrde = new int[10];


int inter1, inter2, aux, opc, i;
inter1 = 0;
inter2 = 0;
aux = 0;
opc = 0;
bool salir = false;
bool arreg = false;
bool band = false;
Random r = new Random();
while(!salir)
{
Console.Clear();
Console.WriteLine("METODOS DE ORDENAMIENTO");
Console.WriteLine("1. Crear arreglo");
Console.WriteLine("2. Burbuja");
Console.WriteLine("3. Burbuja modificada");
Console.WriteLine("4. Mostrar intercambios");
Console.WriteLine("0. Salir");
Console.WriteLine("Ingrese un numero de 0 a 4");
opc = int.Parse(Console.ReadLine());
if (opc == 1)
{
Console.Clear();
if(!arreg)
{
arreg = true;
for(i = 0; i < 10; i++)
{
ArregloOrig[i] = r.Next(0, 10);
Console.Write("[" + ArregloOrig[i] + "]");
}
Console.WriteLine();
Console.WriteLine("arreglo generado con exito.");
Console.ReadKey();
} else
{
Console.WriteLine("ERROR: ¡Arreglo ya generado! Presione
cualquier tecla para regresar");
Console.ReadKey();
}
} else if (opc == 2)
{
Console.Clear();
if(arreg)
{
inter1 = 0;
for(i = 0; i < 10; i++)
{
ArregloOrde[i] = ArregloOrig[i];
}
for(i = 0; i < 10; i++)
{
for(int j = 1; j < 10; j++)
{
if(ArregloOrde[j - 1] > (ArregloOrde[j]))
{
inter1 = inter1 + 1;
aux = ArregloOrde[j - 1];
ArregloOrde[j - 1] = ArregloOrde[j];
ArregloOrde[j] = aux;
}
}
}
Console.WriteLine("Arreglo original: ");
for(i = 0; i < 10; i++)
{
Console.Write("[" + ArregloOrig[i] + "]");
}
Console.WriteLine();
Console.WriteLine("Arreglo ordenado: ");
for(i = 0; i < 10; i++)
{
Console.Write("[" + ArregloOrde[i] + "]");
}
Console.WriteLine();
Console.WriteLine("Intercambios = " + inter1);
Console.WriteLine("presione cualquier tecla para
regresar");
Console.ReadKey();
} else
{
Console.WriteLine("ERROR: ¡Arreglo no existe! Presione
cualquier tecla para regresar");
Console.ReadKey();
}
} else if (opc == 3)
{
Console.Clear();
if(arreg)
{
inter2 = 0;
for (i = 0; i < 10; i++)
{
ArregloOrde[i] = ArregloOrig[i];
}
i = 0;
band = false;
while(i < 10 && !band)
{
band = true;
for(int j = 1; j < 10; j++)
{
if (ArregloOrde[j - 1] > (ArregloOrde[j]))
{
inter2 = inter2 + 1;
aux = ArregloOrde[j - 1];
ArregloOrde[j - 1] = ArregloOrde[j];
ArregloOrde[j] = aux;
band = false;
}
}
i = i + 1;
}
Console.WriteLine("Arreglo original: ");
for (i = 0; i < 10; i++)
{
Console.Write("[" + ArregloOrig[i] + "]");
}
Console.WriteLine();
Console.WriteLine("Arreglo ordenado: ");
for (i = 0; i < 10; i++)
{
Console.Write("[" + ArregloOrde[i] + "]");
}
Console.WriteLine();
Console.WriteLine("Intercambios = " + inter2);
Console.WriteLine("presione cualquier tecla para
regresar");
Console.ReadKey();
} else
{
Console.WriteLine("ERROR: ¡Arreglo no existe! Presione
cualquier tecla para regresar");
Console.ReadKey();
}
} else if (opc == 4)
{
Console.Clear();
if(arreg)
{
Console.WriteLine("Burbuja = " + inter1 + " intercambios");
Console.WriteLine("Burbuja modificada = " + inter2 + "
intercambios");
Console.WriteLine("Presione cualquier tecla para
regresar");
Console.ReadKey();
} else
{
Console.WriteLine("ERROR: ¡Arreglo no existe! Presione
cualquier tecla para regresar");
Console.ReadKey();
}
} else if (opc == 0)
{
salir = true;
} else
{
Console.Clear();
Console.WriteLine("ERROR: ¡Opcion no encontrada! Presione
cualquier tecla para regresar");
Console.ReadKey();
}
}

También podría gustarte