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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ordenación de tablas
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ordenación de tablas  (Leído 5,639 veces)
muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Ordenación de tablas
« en: 29 Diciembre 2012, 10:32 am »

Tengo una tabla asi
1 2 3 4
4 3 1 3
2 1 4 2
3 4 2 1
Y otra que es
0
1
0
1
Donde cada elemento de la 1 fila de corresponde al 0, de la segunda al 1, y asi (cada columna de la 1 tabla son experimentos diferentes)
Tengo que ordenar cada columna de menor a mayor y a la vez crear otra tabla de 4x4 con las etiquetas (0 y 1) ordenadas en cada experimento.
Se quedaria
1 1 1 1      0011
2 2 2 2      0010
3 3 3 3      1101
4 4 4 4      1100
¿Serian tres for anidados?


« Última modificación: 30 Diciembre 2012, 11:10 am por muymuyperdido » En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Ordenación de tablas
« Respuesta #1 en: 31 Diciembre 2012, 02:07 am »

Hola! para el ordenamiento busca: "algoritmo de ordenamientos" vas a encontrar bastantes, el mas facil es el de la "burbuja"


La segunda tabla nose que es, ni que combinaciones hace. Saludos


En línea

Ahorrate una pregunta, lee el man
muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ordenación de tablas
« Respuesta #2 en: 1 Enero 2013, 10:06 am »

¿El método de la burbuja se puede utilizar para una tabla y aparte otra tabla, que a la vez cree otra tabla?
1 tabla: etiquetas
2 tabla: datos (cada columna ha de ser ordenada a la vez que la de etiquetas y las nuevas etiquetas almacenadas en;)
3 tabla: etiquetas de cada columna de 'datos'
Gracias :)
Feliz año! :silbar:
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ordenación de tablas
« Respuesta #3 en: 1 Enero 2013, 15:46 pm »

Tengo una tabla asi
1 2 3 4
4 3 1 3
2 1 4 2
3 4 2 1
Y otra que es
0
1
0
1
Donde cada elemento de la 1 fila de corresponde al 0, de la segunda al 1, y asi (cada columna de la 1 tabla son experimentos diferentes)
Tengo que ordenar cada columna de menor a mayor y a la vez crear otra tabla de 4x4 con las etiquetas (0 y 1) ordenadas en cada experimento.
Se quedaria
1 1 1 1      0011
2 2 2 2      0010
3 3 3 3      1101
4 4 4 4      1100
¿Serian tres for anidados?

Pues sí, son tres for anidados con una condición. Te he puesto el array "num" para un caso más general en que los números de la matriz no sean consecutivos:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int i,j,k,p=-1;
  6.    int num[]={1,2,3,4};
  7.    int v1[4][4]={{1,2,3,4},
  8.                 {4,3,1,3},
  9.                 {2,1,4,2},
  10.                 {3,4,2,1}},
  11.       v2[4][1]={0,
  12.                 1,
  13.                 0,
  14.                 1};
  15.    int b[4][4]={0},d[4][4]={0};
  16.    for (k=0;k<4;k++){
  17.      p++;
  18.        for (i=0;i<4;i++){
  19.            for (j=0;j<4;j++){
  20.               if (v1[i][j]==num[p]) {
  21.                  b[k][j]=v1[i][j];
  22.                  d[k][j]=v2[i][0];
  23.               }
  24.            }
  25.         }
  26.    }
  27.   for (i=0;i<4;i++){
  28.      for (j=0;j<4;j++){
  29.         printf ("%d  ",b[i][j]);
  30.      }puts ("\n");
  31.   }
  32.   puts ("\n");
  33.   for (i=0;i<4;i++){
  34.      for (j=0;j<4;j++){
  35.         printf ("%d  ",d[i][j]);
  36.      }puts ("\n");
  37.   }
  38.    return  0;
  39. }
  40.  
Saluditos!. .....   :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
En línea

muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ordenación de tablas
« Respuesta #4 en: 1 Enero 2013, 16:44 pm »

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int i,j,k,p=-1;
  6.    int num[]={1,2,3,4};
  7.    int v1[4][4]={{1,2,3,4},
  8.                 {4,3,1,3},
  9.                 {2,1,4,2},
  10.                 {3,4,2,1}},
  11.       v2[4][1]={0,
  12.                 1,
  13.                 0,
  14.                 1};
  15.    int b[4][4]={0},d[4][4]={0};
  16.    for (k=0;k<4;k++){
  17.      p++;
  18.        for (i=0;i<4;i++){
  19.            for (j=0;j<4;j++){
  20.               if (v1[i][j]==num[p]) {
  21.                  b[k][j]=v1[i][j];
  22.                  d[k][j]=v2[i][0];
  23.               }
  24.            }
  25.         }
  26.    }
  27.   for (i=0;i<4;i++){
  28.      for (j=0;j<4;j++){
  29.         printf ("%d  ",b[i][j]);
  30.      }puts ("\n");
  31.   }
  32.   puts ("\n");
  33.   for (i=0;i<4;i++){
  34.      for (j=0;j<4;j++){
  35.         printf ("%d  ",d[i][j]);
  36.      }puts ("\n");
  37.   }
  38.    return  0;
  39. }
  40.  
Saluditos!. .....   :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
Muchisimas gracias! Pero podrias poner que hace cada cosa? :| Es que no lo acabo de entender  :-\
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ordenación de tablas
« Respuesta #5 en: 1 Enero 2013, 18:55 pm »

Muchisimas gracias! Pero podrias poner que hace cada cosa? :| Es que no lo acabo de entender  :-\
Lo mejor es que corras el programa y "voila" hace lo que te pide.
Código
  1. int num[]={1,2,3,4};<==array con los numeros de la matriz inicial.
  2. ............................
  3. for (k=0;k<4;k++){
  4.      p++; <==inicio e incremento el array "num"
  5.        for (i=0;i<4;i++){
  6.            for (j=0;j<4;j++){
  7.               if (v1[i][j]==num[p]) { <==voy cogiendo los distintos numeros de la matriz: el 1,2,3,4
  8.                  b[k][j]=v1[i][j]; <==para cada num lo coloco en la linea correspodiente:los 1 en la primera, los 2 en la segunda ......
  9.                  d[k][j]=v2[i][0]; <==veo las coincidencias con la matriz de control, la de ceros y unos y los meto en otra matriz
  10.               }
  11.            }
  12.         }
  13.    }
  14. Pero como te comente, corre el programa y veras que te da la matriz
  15. "b"         "d"
  16. 1 1 1 1      0011
  17. 2 2 2 2      0010
  18. 3 3 3 3      1101
  19. 4 4 4 4      1100
  20.  
Saluditos!. .............  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
« Última modificación: 1 Enero 2013, 19:06 pm por leosansan » En línea

muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ordenación de tablas
« Respuesta #6 en: 1 Enero 2013, 20:41 pm »

No entiendo que es la matriz num :|

En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ordenación de tablas
« Respuesta #7 en: 1 Enero 2013, 21:30 pm »

Citar
Según tú, el problema empieza con un: tengo una tabla asi
1 2 3 4
4 3 1 3
2 1 4 2
3 4 2 1

Pues el array "num" consta de los elementos de esa matriz:1,2,3,4. Lo uso porque si siempre fuera así el código podría ser más sencillo, pero con el uso del array me cubro las espaldas en caso de que los elementos de esa matriz no sean ni esos ni consecutivos.
Saluditos!. .....  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
En línea

muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ordenación de tablas
« Respuesta #8 en: 2 Enero 2013, 15:33 pm »

Saluditos!. .....  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
Pero eso era un ejemplo, no me expresé bien :|
La tabla original que tengo que ordenar son floats.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ordenación de tablas
« Respuesta #9 en: 2 Enero 2013, 16:29 pm »

Pero eso era un ejemplo, no me expresé bien :|
La tabla original que tengo que ordenar son floats.

Citar

Ya me lo imaginaba, por eso lo del array. En principio sólo tienes que declararlo como float en lugar de int y poner los valores correspondientes. Y en el printf en lugar de d pones g. ;-) ;-)
Pero mejor, y que sirva para otra, pon un ejemplo real aunque te parezca complicado ..... para que si no estamos aquí: para ayudar.

Saluditos !....nuevamente..y nuevamente: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
« Última modificación: 2 Enero 2013, 16:32 pm por leosansan » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ordenación arrays
PHP
nØFi# 2 2,411 Último mensaje 15 Junio 2009, 21:13 pm
por ^Cloud^
ordenacion burbuja
.NET (C#, VB.NET, ASP)
S1dD3xt35 6 4,738 Último mensaje 21 Marzo 2010, 01:09 am
por S1dD3xt35
Ayuda con ordenación plis!
Programación C/C++
mihina 1 1,988 Último mensaje 22 Febrero 2011, 13:25 pm
por mihina
Ordenación burbuja
Programación C/C++
Runex 1 2,455 Último mensaje 28 Abril 2012, 01:48 am
por Torino10
POO ordenación de arreglos
Programación C/C++
SojatDotar 5 2,160 Último mensaje 28 Febrero 2016, 23:22 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines