Código C++, producto de matrices.




El siguiente programa realiza la multiplicación de 2 matrices de 3x3.

#include <iostream>
#define d 3
using std::cout;
using std::cin;
using std::endl;

int main(){
    int i, j, k, a[d][d], b[d][d], c[d][d];
    cout << "MATRIZ A." << endl; // Introduce los elementos de la matriz A 
    for(i = 0 ; i < d ; i++){
        for(j = 0 ; j < d ; j++){
     cout << "Introduzca el valor del elemento [" << i << "]["
      << j << "]: ";
     cin >> a[i][j];
 }
    }
    cout << endl;
    for(i = 0 ; i < d ; i++){ // Imprime los elementos de la matriz A 
        for(j = 0 ; j < d ; j++){
            cout << a[i][j] << " ";
            if(j == 2)
               cout << endl;
    }
    }
    cout << endl;
    cout << "MATRIZ B." << endl; // Introduce los elementos de la matriz B
    for(i = 0 ; i < d ; i++){
        for(j = 0 ; j < d ; j++){
            cout << "Introduzca el valor del elemento [" << i << "]["
                    << j << "]: ";
            cin >> b[i][j];
        }
    }
    cout << endl;
    for(i = 0 ; i < d ; i++){ // Imprime los elementos de la matriz B
        for(j = 0 ; j < d ; j++){
            cout << b[i][j] << " ";
            if(j == 2)
               cout << endl;
        }
    }
  for(i=0;i<d;i++){ /* Realiza el producto de matrices y guarda
                       el resultado en una tercera matriz*/
      for(j=0;j<d;j++){
          c[i][j]=0;
          for(k=0;k<d;k++){
              c[i][j]=c[i][j]+(a[i][k]*b[k][j]);
          }
      }
  }
  cout << endl << "MATRIZ C (Matriz A*B)." << endl;
  cout << endl;
  for(i=0;i<d;i++){ // Imprime la matriz resultado
      for(j=0;j<d;j++){
          cout << c[i][j] << " ";
          if(j==2)
             cout << endl;
      }
  }
  system("PAUSE");
  return 0;
  }
Este programa obtiene el producto de dos matrices de 3x3

Descargar código.

10 comentarios:

Anónimo dijo...

solo puedo decir gracias mil gracis por este ejemplo

jay_fox dijo...

hola q tal mi nombre es tommy soy estudiante de programacion y quisiera q me ayuden con un tarea q me dieron acerca de las matrices la tarea se trata d esto
hacer un programa q inicialize una matriz de 2 dimensiones y luego se guarde asteriscos de tal manera que se forme la palabra TEC y luego le imprima en la pantalla de la computadora si pueden lo envian ami correo:goldeneagle_flyaway@hotmail.com

Anónimo dijo...

chevere pana esta bakano.....

sabes a mi me falta ese for que lo haces con k
para que me muestre el resultado esperado.. gracxias sigue adelante

Anónimo dijo...

hola pero como lo hago en dev-c++ funciona pero lo necesito sin cout,cin,endl etc..., solo con printf,scanf etc... porfavor ayudenme gracias.

Anónimo dijo...

quisiera q detallaran un poco mas sobre poducto de matrices y si po favor me manden a m correo todo sobre producto de matrices
mi correo es katyrq_2009@hotmail.com

Anónimo dijo...

si,a mi tambien me encantaria que solo lom publicaras con for, printf, scanf... pero sin endl y eso

Anónimo dijo...

es que el endl y eso sólo es para que sea algo estético..... en pantalla...

Anónimo dijo...

gracias muchas gracias

Dd.Rosales dijo...

GRACiAS! los felicito asta al fin publican un programa que en verdad funcione!!! por otra para poder multiplicar 2 matrices, la cual la matriz A es de 3x4. y la matriz B es de 4*3. si me pudieran ayudar con esto se los agradeceria mucho mas. les dejo mi correo por si me pueden responder!
drosales.23_t10@hotmail.com

Mil Gracias!!!
Dd.R

Anónimo dijo...

disculpen como agrego los numeros de la matriz ya ejecutado el programa ??'

Publicar un comentario en la entrada

Utiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.