Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ordenar cadenas en ensamblador

Estas en el tema de Ordenar cadenas en ensamblador en el foro de Programación General en Foros del Web. haber tengo que realizar un programa en ensamblador en el que le introduzca 20 cadenas por teclado y me las ordene tanto alfabeticamente como por ...
  #1 (permalink)  
Antiguo 15/05/2006, 02:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Ordenar cadenas en ensamblador

haber tengo que realizar un programa en ensamblador en el que le introduzca 20 cadenas por teclado y me las ordene tanto alfabeticamente como por longitud, la verdad consigo intercambiar 2 cadenas, ordenarlas, pero cuando son mas de 2 cadenas ya no se ke hacer, alguien sabe de algun sitio donde encontrar el codigo, alguna ayuda o algo???

Graciasssss
  #2 (permalink)  
Antiguo 16/05/2006, 12:25
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Bueno. una idea, de alguien que sabe poco de ensamblador seria:

Por cada cadena que metes, aumentas en 1 algun registro, o localidad en memoria, el chiste es que tengas un contador de cuantas cadenas se estan metiendo(si son 20 y siempre van a ser 20 entonces esto no es necesario)

Despues crear un ciclo con "jumps" donde vayas disminuyendo en 1 el contadro(ya sea que este en 20, o que lo hayas puesto dinamicamente).
Aqui lo ordenas alfabeticamente.(no se en que manera tengas organizada las cadenas en la memoria). El chiste es que tomas la primera letra y si esta tiene una mayor jerarquia a todas las demas, sube hasta arriba, sino, sube hasta alcanzar a una de mayor jerarquia. Para esto tendrias que tener una especie de tabla con la jerarquia de las letras.

Al terminar este ciclo, empiezas otro, pero esta vez solo cuentas cuantas letras hay en cada cadena, y la mayo hasta arriba, la seguna mayor, abajo de la primera, y asi...
Es una idea...la verdad nunca he programado en ensamblador x86.

Saludos
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 05:46.