Autor
|
Tema: Ordenación de tablas (Leído 5,639 veces)
|
muymuyperdido
Desconectado
Mensajes: 45
|
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
Mensajes: 373
|
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
Mensajes: 45
|
¿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!
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
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:#include <stdio.h> int main() { int i,j,k,p=-1; int num[]={1,2,3,4}; int v1[4][4]={{1,2,3,4}, {4,3,1,3}, {2,1,4,2}, {3,4,2,1}}, v2[4][1]={0, 1, 0, 1}; int b[4][4]={0},d[4][4]={0}; for (k=0;k<4;k++){ p++; for (i=0;i<4;i++){ for (j=0;j<4;j++){ if (v1[i][j]==num[p]) { b[k][j]=v1[i][j]; d[k][j]=v2[i][0]; } } } } for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf ("%d ",b[i][j]); }puts ("\n"); } puts ("\n"); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf ("%d ",d[i][j]); }puts ("\n"); } return 0; }
Saluditos!. .....
|
|
|
En línea
|
|
|
|
muymuyperdido
Desconectado
Mensajes: 45
|
#include <stdio.h> int main() { int i,j,k,p=-1; int num[]={1,2,3,4}; int v1[4][4]={{1,2,3,4}, {4,3,1,3}, {2,1,4,2}, {3,4,2,1}}, v2[4][1]={0, 1, 0, 1}; int b[4][4]={0},d[4][4]={0}; for (k=0;k<4;k++){ p++; for (i=0;i<4;i++){ for (j=0;j<4;j++){ if (v1[i][j]==num[p]) { b[k][j]=v1[i][j]; d[k][j]=v2[i][0]; } } } } for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf ("%d ",b[i][j]); }puts ("\n"); } puts ("\n"); for (i=0;i<4;i++){ for (j=0;j<4;j++){ printf ("%d ",d[i][j]); }puts ("\n"); } return 0; }
Saluditos!. ..... Muchisimas gracias! Pero podrias poner que hace cada cosa? :| Es que no lo acabo de entender
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
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.int num[]={1,2,3,4};<==array con los numeros de la matriz inicial. ............................ for (k=0;k<4;k++){ p++; <==inicio e incremento el array "num" for (i=0;i<4;i++){ for (j=0;j<4;j++){ if (v1[i][j]==num[p]) { <==voy cogiendo los distintos numeros de la matriz: el 1,2,3,4 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 ...... 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 } } } } Pero como te comente, corre el programa y veras que te da la matriz "b" "d" 1 1 1 1 0011 2 2 2 2 0010 3 3 3 3 1101 4 4 4 4 1100
Saluditos!. .............
|
|
« Última modificación: 1 Enero 2013, 19:06 pm por leosansan »
|
En línea
|
|
|
|
muymuyperdido
Desconectado
Mensajes: 45
|
No entiendo que es la matriz num :|
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
|
|
|
En línea
|
|
|
|
muymuyperdido
Desconectado
Mensajes: 45
|
Pero eso era un ejemplo, no me expresé bien :| La tabla original que tengo que ordenar son floats.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
|
|
« Última modificación: 2 Enero 2013, 16:32 pm por leosansan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ordenación arrays
PHP
|
nØFi#
|
2
|
2,411
|
15 Junio 2009, 21:13 pm
por ^Cloud^
|
|
|
ordenacion burbuja
.NET (C#, VB.NET, ASP)
|
S1dD3xt35
|
6
|
4,738
|
21 Marzo 2010, 01:09 am
por S1dD3xt35
|
|
|
Ayuda con ordenación plis!
Programación C/C++
|
mihina
|
1
|
1,988
|
22 Febrero 2011, 13:25 pm
por mihina
|
|
|
Ordenación burbuja
Programación C/C++
|
Runex
|
1
|
2,455
|
28 Abril 2012, 01:48 am
por Torino10
|
|
|
POO ordenación de arreglos
Programación C/C++
|
SojatDotar
|
5
|
2,160
|
28 Febrero 2016, 23:22 pm
por ivancea96
|
|