/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Multiplicar Matriz 4x4

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
nieves



Registrado: 16 Oct 2004
Mensajes: 146

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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í

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com