| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 27/10/2004 2:15 am | | | Título: Multiplicar Matriz 4x4 |
| Hola! he leido un ejemplo por aqui de multiplicar matrices, pero lo he intentado hacer y no me sale, ya que he leido pa cuando tu introduces la matriz y yo quiero que el usuario introduzca dos matrices y las multiplique, alguien podria ayudarme se lo agradecere. yo me he quedado aqui y en la lectura de matrices:
#include<stdio.h> #include<conio.h> #define MATRIZ 4
void main() { float m1[MATRIZ][MATRIZ]; float m2[MATRIZ][MATRIZ]; int i,j;
for (i=0; i<MATRIZ; i++) for (j=0; j<MATRIZ; j++) { printf("\nIntrodueix un valor per a la posicio %d %d de la primera matriu: ", i, j); scanf("%f",&m1[i][j]); }
for (i=0; i<MATRIZ; i++) for (j=0; j<MATRIZ; j++) { printf("\nIntrodueix un valor per a la posicio %d %d de la segona matriu: ", i, j); scanf("%f",&m2[i][j]); } |
|
| Volver arriba | |
 |
lute
Registrado: 19 Jul 2004 Mensajes: 8
| Publicado: 27/10/2004 9:35 am | | | Título: |
| hola nieves, soy estudiante de programacion y como se lo inutil q se siente uno cuando no es capaz de hacer esto voy a hecharte una manita, aunque tbn kiero decirte ne no te lo voy a pasar aunke lo tengo hecho pero si te voy a enseñar como se hace. En primer lugar nose kien te habra explicado lo ke has hecho o donde lo habras leido pero se ve claramente ke ese codigo esta preparado para c++ aunke para evitar cosas raras lo vamos ha hacer en c. Pos al lio. Para ver claramente el tema de filas y columnas lo vamos ha hacer con una matriz de 3x4 y otra de 4x3, y el resultado sera una matriz de 3x3. Todo esto lo declaramos de la siguiente menera: int mat1[3][4]; int mat2[4][3]; int matres[3][3]; De inicializarlas ya te encargas tu.(doy por supuesto q sabes recorrer matrices) Ahora biene lo bueno, pero esto lo vas a sacar tu, coje en un papel u multiplica dos matrices genericas y fijate muy muy muy muy muy bien q relacion existe entre los indices de los elementos cuando multiplicas los elementos de mat1 y mat2. Pos hasta ahy te voy a decir hoy pa q te calientes un poco el coco, cuando lo hagas me escribes y te avanzo un poquito mas sobre el tema. Suerte (q va ha hacer falta). |
|
| Volver arriba | |
 |
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 27/10/2004 11:05 am | | | Título: |
| | Hola! Gracias x tu tiempo, ya tengo el coco bastante calentado ya que yevo dias con esto.Lo que escribi esta bien, es para leer las matrices que introduce el usuario ara me falta multiplicarlas, que es en lo que necesito ayuda. Lo que te escribi esta exo con windows xp y con el visual c++.esta corregido por el profesor ya que el nos da una base y a partir de ahi nos tenemos que espavilar para hacer 20 y pico ejercicios, como no se explica muy bien y no puso ejemplos de multiplicar matrices cuadradas, pos no me sale. necesito algun ejemplo para poder seguir yo haciendo los otros ejercicios de multiplicar matrices diferentes.ya me fije como se multiplican las matrices xo nada probe y no m sale me atasco, sé que es a11*ab11+a12*b22+a13*b33. |
|
| Volver arriba | |
 |
|
quique
Registrado: 30 Mar 2004 Mensajes: 720 Ubicación: Por ahí
| Publicado: 27/10/2004 11:11 pm | | | Título: |
| Estaba leyendo el post y me ha asaltado una duda:
Por qué crees que el código inicial está orientado a C++? Yo hubiera dicho todo lo contrario....
Salu2 |
|
| Volver arriba | |
 |
lute
Registrado: 19 Jul 2004 Mensajes: 8
| Publicado: 28/10/2004 8:55 am | | | Título: |
| hola de nuevo nieves, vamos a darle otro palito a la burra. Vamos por parte, pa empezar repasate bien la multiplicacion de matrices, esa secuencia ke has puesto esta mal. Esta de aki abajo seria la formula pa calcular el elemento (1,1) de la matriz resultante ke yo la voy a llamar c: c11=a11xb11+a12xb21+a13xb31 Fijate bien q el indice 'y'(columnas) de a y el indice 'x'(filas) de b siempre es igual en cada multiplicacion, y ahora viene lo mejor. En este elemento en concreto (c11) el indice 'y'(columnas) de b y el indice 'x'(filas) de b es tbn igual (1), pero kiero recalcar q solo en este caso en concreto, la explicacion es la siguiente: El indice 'x'(filas) de c es siempre igual q el indice 'x'(filas) de a y del mismo modo sucede de igual manera con los indices 'y'(columnas) entre c y b. Bien creo q ya te he liao suficiente por hoy, calientate el coco un poco mas (aunke no te guste) y escribeme con las dudas q se te planteen q te hecharé otra mano. Suerte, ánimo y mucha paciencia. |
|
| Volver arriba | |
 |
Pepino
Registrado: 26 Oct 2004 Mensajes: 75
| Publicado: 28/10/2004 11:01 am | | | Título: |
| Gracias x tu tiempo xo ya me resolvieron el problema con un ejemplo. Saludos! |
|
| Volver arriba | |
 |
|
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 28/10/2004 11:03 am | | | Título: |
| | Hola! como ha dixo pepino, q tenia la misma duda q yo, a mi tb man resuelto la duda con un ejemplo.Gracias x tu tiempo. |
|
| Volver arriba | |
 |
|
|