Algoritmia - por favor es de vida o muerte

 
Vista:

por favor es de vida o muerte

Publicado por EDUARDO (4 intervenciones) el 17/04/2006 00:50:50
bueno mejor dicho de pasar la materia por favor se lo suplico cualquiera que me pueda ayudar con este problema,
el profesor quiere que sepamos como convertir vectores a matrices y matrices a vectores.
y como fusionar dos vectores en uno

por favor es una urgencia le pido que tengan piedad y me ayuden, en la universidad podrian quitarme mi beca si la dejo esta materia por favor me envian un email o como lo deseen

espero su pronta respuesta

postdata

el lenguaje utilizado es C++

gracias por todo que dios les cuide

eduardo e. araujo r.
eduardo_e23@hotmail.com
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:por favor es de vida o muerte

Publicado por MrX (1 intervención) el 17/04/2006 15:31:01
Si me explicaras con manzanitas estaria mejor...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor es de vida o muerte

Publicado por EDUARDO (4 intervenciones) el 20/04/2006 08:32:51
es que el profesor desea que nosotros sepamos convertir vectores a matrices y matrices en vectores si puedes ayudarme por favor dimelo-.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor es de vida o muerte

Publicado por Juan (28 intervenciones) el 20/04/2006 18:28:19
Lo que siempre importa es el juego de acceder a una posicion de la estructura de datos, por ejemplo.

1 1 0 0 0
2 0 2 0 0
3 0 0 3 0
4 0 0 0 4

cualquier acceso a A[i] debe hacerse como A[i,i]

para el caso opuesto

1 2 3 4
9 8 7 6
4 3 7 6
2 5 6 4 que e representaria como vector asi

1 2 3 4 9 8 7 6 4 3 7 6 2 5 6 4

la operacion de acceso seria A[i,j] como A[i*N+j], donde N representa el numero de columnas de la matriz. En este caso se asume que la declaracion es del tipo matriz A de entero [0..N,0..N] como en Java y en C. Cualquier cosa escribeme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor es de vida o muerte

Publicado por EDUARDO (4 intervenciones) el 20/04/2006 21:14:22
el caso es juan que no se como darle la logica al programa en c++ para que me haga lo que quiero, ose a lo que ya me explicaste anteriormente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor es de vida o muerte

Publicado por Juan (28 intervenciones) el 21/04/2006 16:16:09
Con cual C estas trabajando? Si es con C++ puedes representarlo mediante clases. Puedes definir una clase Vector_Matriz que almacene un vector en una matriz y sobrecargas el operador = (de asignacion). Puedes definir otra clase Matriz_Vector y sobrecargas de igual forma el operador de asignacion. Sino puedes usar el enfoque orientado a objetos, usa typedef o registros, que permiten la sobrecarga de operadores de la misma forma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor es de vida o muerte

Publicado por Juan (28 intervenciones) el 21/04/2006 16:22:15
Por si acaso, aqui te mando un link de como efectuar la sobrecarga de operadores. Dime como vas con eso, para que despues pasemos a como almacenar varios vectores en uno solo y varias matrices en una sola. Para eso hay muchas ideas dependiendo del tipo de matrices, si son ortogonales, si son simetricas, si son diagonales, etc, etc, etc

http://www.geocities.com/chuidiang/sobrecarga/sobrecarga.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

salvado gracias a juan

Publicado por EDUARDO (4 intervenciones) el 21/04/2006 21:50:17
mi hermanito juan gracias por tu ayuda, panas asi es que uno siempre debe de buscar que pueda aprender de ellos, gracias por todo man.....
y dime entonces de los dos vectores en uno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:salvado gracias a juan

Publicado por Juan (28 intervenciones) el 21/04/2006 22:12:06
Ok.......... Esa si es un poco mas fuerte. Depende si vas a almacenar vectores de tamaño fijo o tamaño variante.
Si son de tamaño fijo creas una mega vector que los contiene todos y la operacion selectora la podrias hacer mediante una funcion (o accion, dependiendo si es un get o un set) donde recibes como parametro cual es el vector a modificar y cual es la celda en ese vector.
Ejemplo: Accion get(Entero N_vector, Entero celda)
Para llegar a la celda de dicho Vector se aplica la formula (N_Vector-1)*Tamaño + Celda, donde Tamaño es el tamaño fijo.
Se representaria asi
1 2 3 4
5 6 7 8
9 10 11 12

1 2 3 4 5 6 7 8 9 10 11 12

Si quieres acceder al 3er elemento del 3er vector seria (2*4) + 3 = 11, o sea la celda 11 del mega arreglo. Ten en cuenta que para este caso la posicion logica de nuestro arreglo comienza en 1, no en 0 como ocurre en C. Para que comienzen en 0 debe sumarsele 1 al resultado. En el ejemplo daria 12 porque el 3er elemento del 3er vector seria el ultimo.

Si son de tamaño variable, debes definir una clase o un typedef que contenga un arreglo para los tamaños y otro megaarreglo que guarde todos los vectores. Por ejemplo
1 2 3
9
8 5 4 3 2 1
1 2 3
Tendrias
3 1 6 3
1 2 3 9 8 5 4 3 2 1 1 2 3
Y para hacer tus acciones como en el caso anterior, debes hacer la sumatoria de los tamaños hasta el vector N_vector-1
Por ejemplo para consultar el 5 elemento del 3er vector
3 + 1 + 5 = 9, y alli se almacena el 2. Las mismas consideraciones para la posicion logica 0.
Meditalo, piensalo y mandas tus opiniones, que se entendio y que no. Creo que aun faltan multiples matrices en una sola jjeeeejjjejeee. Estamos en contacto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar