elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema de Burbujeo en una Matriz!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema de Burbujeo en una Matriz!  (Leído 1,566 veces)
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Problema de Burbujeo en una Matriz!
« en: 26 Agosto 2016, 03:43 am »

Hola

Tengo el siguiente problema. Necesito cargar nombres en una matriz y ordenar esa lista basandome en la primera letra. El nombre que tenga la primera letra mas cercana a la "A" iria primero y el mas cercano a la "Z" ultimo.

El codigo que hice hasta ahora es el siguiente.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void IMPRIMIR(char arreglo[5][20]);
  4. void ORDENAR(char arreglo[5][20]);
  5. int main()
  6. {
  7.    char arreglo1[5][20];                ///ARREGLO DONDE GUARDO NOMBRES
  8.  
  9.    char letra='4';
  10.    int bandera=0;
  11.    int fila=0,columnachar=0;
  12.  
  13.  
  14.    while ((arreglo1[fila][0]!='\0' || bandera==0)&& fila<5)
  15.    {
  16.        printf ("\nIngrese el nombre :  ");
  17.  
  18.        while (letra!='\r')
  19.        {
  20.            letra=getche();
  21.            if (letra!='\r')
  22.            {
  23.                arreglo1[fila][columnachar]=letra;
  24.                columnachar++;
  25.            }
  26.            if (letra=='\r')
  27.            {
  28.                if (columnachar==0)
  29.                {
  30.                    bandera=1;
  31.                }
  32.                if (bandera==0)
  33.                {
  34.  
  35.                arreglo1[fila][columnachar]='\0';
  36.                fila++;
  37.                columnachar=0;
  38.                }
  39.  
  40.            }
  41.  
  42.        }
  43.        letra='4';
  44.  
  45.  
  46.    }
  47.    IMPRIMIR(arreglo1);
  48.  
  49.  
  50.    return 0;
  51. }
  52.  
  53.  
  54. void IMPRIMIR(char arreglo1[5][20])
  55. {
  56. int fila=0,columna=0;
  57.  
  58. printf ("\n");
  59.    while (fila<5)
  60.    {
  61.        printf ("%s\n",arreglo1[fila]);
  62.        fila++;
  63.    }
  64. }
  65.  
  66.  
  67.  
  68.  

Este codigo solo incluye la carga en la matriz...pero nose como ordenarlo.
Me dicen que tengo que ordenarlo basandome en este codigo

Código
  1. void ordenar(int a[], int longitud)
  2. {
  3. int i, j, aux;
  4. for (i = 0; i < longitud; i++)
  5. {
  6. for (j = i + 1; j < longitud; j++)
  7. {
  8. if (a[j] < a[i])
  9. {
  10. aux = a[i]; a[i] =
  11. a[j]; a[j] = aux;
  12. }
  13. }
  14. }
  15. }

El problema es que intento hacerlo pero no me sale...La tanda de ejercicios incluye que lo ordenemos basandonos en la primera letra, y luego en todas las letras;..

Teoricamente tendria que comparar a cada posicion con la de la otra fila y si es mayor, crear un auxiliar, guardarlo y luego cambiarlos de lugar y asi para cada uno, lo he intentado pero no hay caso.


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Problema de Burbujeo en una Matriz!
« Respuesta #1 en: 26 Agosto 2016, 14:55 pm »

El codigo que muestras es para ordenar enteros haybque modificarlo para comprar Cadenas podrias ordenarlos usando strcmp.

Te recomiendo que leas primero de algoritmos de ordenamiento.

Burbuja
QuickSort
etc

Y veas primero como ordenarlos en Papel para luego escribie el codigo correcto


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines