Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Metodo de Burbuja C#

Estas en el tema de Metodo de Burbuja C# en el foro de C/C++ en Foros del Web. Hola soy nuevo en el foro...estan muy buenos los temas Quisiera ayuda con un codigo que hize y me pidieron que lo implementara al reves ...
  #1 (permalink)  
Antiguo 28/11/2010, 14:00
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tijuana
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Información Metodo de Burbuja C#

Hola soy nuevo en el foro...estan muy buenos los temas

Quisiera ayuda con un codigo que hize y me pidieron que lo implementara al reves pero no he podido

Quiero que se despliegue el metodo de burbuja acomodando de la Z a la A... y mi metodo lo acomoda de la A a la Z


Código:
string[] aPalabras = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "X", "Y", "Z" }; //Arreglo que contiene Letras
int i, j = 0; //contadores
string aux = "";
Console.WriteLine("Listado inicial \t\");

for(i = 0; i < aPalabras.Length; i++)
{
Console.WriteLine(i + " : " + aPalabras[i]);
}


for(i=0;i<aPalabras.Length-1;i++)
{
for(j=0;j<aPalabras.Length-i-1;j++…
{

if (aPalabras[j+1].CompareTo(aPalabras[j]) <= 0)
{
aux=aPalabras[j+1];
aPalabras[j+1]=aPalabras[j];
aPalabras[j]=aux; /
}
}
}
Console.WriteLine("Listado final (ordenado) \t");

for(i = 0; i < aPalabras.Length; i++)
{
Console.WriteLine(i + " : " + aPalabras[i]);
}
  #2 (permalink)  
Antiguo 30/11/2010, 07:08
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
Respuesta: Metodo de Burbuja C#

Movido desde xml

__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 30/11/2010, 10:19
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Metodo de Burbuja C#

Cambia el orden de comparacion:
if (aPalabras[j+1].CompareTo(aPalabras[j]) >= 0)

De esta forma Verifica que una palabra este despues. SI es verdadero la cambia
  #4 (permalink)  
Antiguo 01/12/2010, 01:39
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Metodo de Burbuja C#

En la comparación no verifiques la igualdad, solamente si es mayor (o menor). Si no, te hará el intercambio de elementos también cuando sean iguales.
  #5 (permalink)  
Antiguo 01/12/2010, 03:04
 
Fecha de Ingreso: diciembre-2010
Ubicación: victoria
Mensajes: 24
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Metodo de Burbuja C#

Hace mucho que no usaba C#, y no recordaba como extraer el valor ascii para poder comparar el valor de cada letra, la unica forma que encontre es de char a int.
espero te sirva
hasta luegooo !!!
ya lo probe y si funciona :)




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

char[] aPalabras = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z' }; //Arreglo que contiene Letras
int i; //contadores
char aux;


Console.WriteLine("Listado inicial");


for(i = 0; i < aPalabras.Length; i++)
{
Console.Write("["+aPalabras[i]+"]");
}

Console.WriteLine();
Console.WriteLine();


for (int a = 0; a < aPalabras.Length; a++)
{
int cont1 = 0;
int cont2 = 1;

for (int b = 1; b < aPalabras.Length; b++)
{

int va1 = 0;
int va2 = 0;
va1 = (int)aPalabras[cont1];
va2 = (int)aPalabras[cont2];

if (va1 < va2)
{

aux = aPalabras[cont1];
aPalabras[cont1] = aPalabras[cont2];
aPalabras[cont2] = aux;

cont1++;
cont2++;
}
}
}

Console.WriteLine("Listado final (ordenado) \t");

for(i = 0; i < aPalabras.Length; i++)
{
Console.Write("[" + aPalabras[i] + "]");
}
Console.Read();
}
}
}

Etiquetas: burbuja, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.