Cita:  
					Iniciado por aguirremanuel  
  Aquí está la parte de la multiplicacion mi pana :
    
Código C:
Ver original- for (i = 0 ; i < 3 ; i++ ) //i para las filas de la matriz resultante 
- { 
-     for (k = 0 ; k < 3 ; k++ ) // k para las columnas de la matriz resultante 
-     { 
-         temporal = 0 ; 
-         for (j = 0 ; j < 2 ; j++ ) //j para realizar la multiplicacion de  
-                 {                                   //los elementos   de la matriz 
-             temporal += mat[i][j] * mat2[j][k]; 
-             resultado[i][k] = temporal ; 
-         } 
-         } 
- } 
Suerte...!!!
    
Buenas tardes!! Soy nuevo por el foro, estaba buscando algún sitio dónde gente que sepa del tema pudiera ayudarme a resolver las dudas que tengo sobre C++ 
Resulta que estoy intentando hacer el Método de los Mínimos cuadrados, y he llegado a la siguiente ecuación de matrices  At*A*X=At*B 
A es una matriz de orden 2x10
B es una matriz de orden 10x2
X es la matriz de los coeficientes (a)
                                                    (b)
At es la traspuesta de A, por lo tanto de orden 10x2  
Esto es lo que llevo de código: 
#include <iostream>
using namespace std; 
int main ()
{
int a[10][2],b[10][1],x[2][1],at[2][10];
 int i, j, k,sol[2][2],sol2[2][2];
    cout << "MATRIZ A." << endl; // Introduce los elementos de la matriz A 
    for(i = 0 ; i < 10 ; i++){
        for(j = 0 ; j < 2 ; j++){
     cout << "Introduzca el valor del elemento [" << i << "]["
      << j << "]: ";
     cin >> a[i][j];
 }
    }
    cout << endl;
    for(i = 0 ; i < 10 ; i++){ // Imprime los elementos de la matriz A 
        for(j = 0 ; j < 2 ; j++){
            cout << a[i][j] << " ";
            if(j == 1)
               cout << "\n";
    }
    }
    cout << endl;
    cout << "MATRIZ B." << endl; // Introduce los elementos de la matriz B
    for(i = 0 ; i < 10 ; i++){
        for(j = 0 ; j < 1 ; j++){
            cout << "Introduzca el valor del elemento [" << i << "]["
                    << j << "]: ";
            cin >> b[i][j];
        }
    }
    cout<<"MATRIZ B";
    cout << endl;
    for(i = 0 ; i < 10 ; i++){ // Imprime los elementos de la matriz B
        for(j = 0 ; j < 1 ; j++){
            cout << b[i][j] << " ";
            if(j == 0)
               cout << endl;
        }
    }   
    //  Averiguamos la matriz traspuesta de A, At
    cout << endl;
    for(i=0;i<10;i++){
                      for(j=0;j<2;j++){
                                          at[j][i]=a[i][j]; }
                        }
    cout << "\nMATRIZ A traspuesta.\n\n" << endl;                    
    for(i = 0 ; i < 2 ; i++){ // Imprime los elementos de la matriz At
        for(j = 0 ; j < 10 ; j++){
            cout << at[i][j] << " ";
            if(j == 9)
               cout << endl;
        }
    }   
    for(i=0;i<2;i++){ /* Realiza el producto de At*B*/
      for(j=0;j<1;j++){
          sol[i][j]=0;
          for(k=0;k<10;k++){
              sol[i][j]=sol[i][j]+(at[i][k]*a[k][j]);
          }
      }
  }  
    cout << endl << "MATRIZ C (Matriz At*B)." << endl;
  cout << endl;
  for(i=0;i<2;i++){ // Imprime la matriz resultado
      for(j=0;j<1;j++){
          cout << sol[i][j] << " ";
          if(j==0)
             cout << endl;
      }
  }      
  for(i=0;i<2;i++){ /* Realiza el producto de At*A*/
      for(j=0;j<2;j++){
          sol[i][j]=0;
          for(k=0;k<10;k++){
              sol2[i][j]=sol2[i][j]+(at[i][k]*b[k][j]);
          }
      }
  }  
    cout << endl << "MATRIZ D (Matriz At*A)." << endl;
  cout << endl;
  for(i=0;i<2;i++){ // Imprime la matriz resultado
      for(j=0;j<2;j++){
          cout << sol2[i][j] << " ";
          if(j==0)
             cout << endl;
      }
  } 
  system("PAUSE");
  return 0;
}   
Mi problema es que no se bien como hacer la multiplicación, he segido los pasos que ponen ahí pero no me sale correctamente, a ver si alguien le puede echar un vistazo y decirme dónde me estoy equivocando. 
Un saludo y muchas gracias de antemano!!