Título: Tratamiento de dos tablas a la vez Publicado por: muymuyperdido en 29 Diciembre 2012, 20:16 pm Lo puse en otro post, pero no sé si está bien explicado asique aqui lo pongo más claro
Tengo dos tablas y tengo que tratar cada fila de una de ellas con todas las filas de la otra. Asi 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 La fila 1 2 3 con 11 12 13, con 14 15 16, y con 17 18 19. La 4 5 6 con 11 12 13, con 14 15 16, y con 17 18 19. Y la 7 8 9 con 11 12 13, con 14 15 16, y con 17 18 19. Seria calcular la distancia euclidea como si fuesen ejes coordenados, es decir la raiz de la suma de las diferencias al cuadrado (en una funcion) No pongo codigo porque no sé por donde empezar, es decir, que bucle hago para hacer esa relacion? Título: Re: Tratamiento de dos tablas a la vez Publicado por: durasno en 29 Diciembre 2012, 23:36 pm Hola! vas a necesitar 3 bucles anidados:
-El indice del primer bucle maneja las filas de la tabla 1 -El indice del segundo bucle maneja las filas de la tabla 2 -El indice del tercer bucle maneja las columnas de ambas tablas Saludos Título: Re: Tratamiento de dos tablas a la vez Publicado por: flony en 29 Diciembre 2012, 23:38 pm arrancar por usar la biblioteca standar para sacar las raices y potencias...lo de la tabla seria con 2 vectores de tamaño 2(corre desde 0 a 2 y suma 3)...
info de biblioteca http://www.cplusplus.com/reference/cmath/ (http://www.cplusplus.com/reference/cmath/) ....jaajaja lo lindo de la programacion hay mas de una manera de llegar al mismo rsultado Título: Re: Tratamiento de dos tablas a la vez Publicado por: muymuyperdido en 30 Diciembre 2012, 00:59 am Hola! vas a necesitar 3 bucles anidados: -El indice del primer bucle maneja las filas de la tabla 1 -El indice del segundo bucle maneja las filas de la tabla 2 -El indice del tercer bucle maneja las columnas de ambas tablas Saludos Esto es lo que necesitaba! Muchas gracias^^ Lo he planteado asi for(z=0;z<m;z++){ for(i=0;i<m;i++){ dist[z]=0; for(j=0;j<m;j++){ dist[z]=dist[z]+((tabla1[j]-tabla2[j])(tabla1[j]-tabla2[j])) } dist[z]=sqrt(dist[z]); } } No lo he comprobado pero creo, ...creo, que está bien. Para ordenar cada columna de forma independiente como seria? Título: Re: Tratamiento de dos tablas a la vez Publicado por: flony en 30 Diciembre 2012, 02:27 am yo decia hacer algo asi...
Código: #include <iostream> Título: Re: Tratamiento de dos tablas a la vez Publicado por: muymuyperdido en 30 Diciembre 2012, 10:37 am Código ¿No podria ser así? Almacenandose todas las distancias en una tabla bidimensional? Título: Re: Tratamiento de dos tablas a la vez Publicado por: durasno en 31 Diciembre 2012, 02:23 am Una pregunta: dist es un arreglo o una matriz???
Si es una matriz esto dist[z]=0 es un error, nose si lo compilaste o no pero trata de prestar atencion a los errores que te marca el compilador... El tamaño de la tabla para almacenar los resultados debe ser igual a las combinaciones que se generan, segun el ejemplo debe ser de 3x3 ya que se van a generar 9 resultados Saludos Título: Re: Tratamiento de dos tablas a la vez Publicado por: leosansan en 31 Diciembre 2012, 19:24 pm Seria calcular la distancia euclidea como si fuesen ejes coordenados, es decir la raiz de la suma de las diferencias al cuadrado (en una funcion) No pongo codigo porque no sé por donde empezar, es decir, que bucle hago para hacer esa relacion? Código Saluditos!. ... y Feliz 2013 :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: Título: Re: Tratamiento de dos tablas a la vez Publicado por: muymuyperdido en 1 Enero 2013, 13:01 pm aunque sólo con la parte de CALCULO DE CUADRADO DE DISTANCIA tienes lo que realmente quieres ¡Muchisimas gracias! :D :D :D :D :D :D |