Clase 6 (Multiplicacion de Matrices)

Imagen relacionada







Codigo Fuente en C++
#include <iostream>
using namespace std;

int main()
{
    int A[20][20], B[20][20], C[20][20];
    int k, m, n;

    cout<<"Lectura de matriz A."<<endl;
    cout<<"Filas de A: "; cin>>k;
    cout<<"Columnas de A: "; cin>>m;
    cout<<endl;
    for(int i=0; i<k; ++i)
        for(int j=0; j<m; ++j)
        {
            cout<<"Ingrese valor para A["<<i<<"]["<<j<<"]: ";
            cin>>A[i][j];
        }

    cout<<"Lectura de matriz B."<<endl;
    cout<<"Filas de B: "<<m<<" (ya esta definido y es necesario)."<<endl;
    cout<<"Columnas de B: "; cin>>n;
    cout<<endl;
    for(int i=0; i<m; ++i)
        for(int j=0; j<n; ++j)
        {
            cout<<"Ingrese valor para B["<<i<<"]["<<j<<"]: ";
            cin>>B[i][j];
        }

    // Inicializamos la matriz C.
    for(int i=0; i<k; ++i)
        for(int j=0; j<n; ++j)
            C[i][j] = 0;

    // Generamos la matriz C.
    for(int i=0; i<k; ++i)
        for(int j=0; j<n; ++j)
            for(int z=0; z<m; ++z)
                C[i][j] += A[i][z] * B[z][j];

    cout<<"\nMatriz A \n";
    for(int i=0; i<k; ++i)
    {
        for(int j=0; j<m; ++j)
        {
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
cout<<"\n X (Multiplicacion)\n  ";
    cout<<"\nMatriz B \n";
    for(int i=0; i<m; ++i)
    {
        for(int j=0; j<n; ++j)
        {
            cout<<B[i][j]<<" ";
        }
        cout<<endl;
    }

    cout<<"\n  =  (Total)\n  ";
cout<<"\n  Matriz C\n  ";
    for(int i=0; i<k; ++i)
    {
        for(int j=0; j<n; ++j)
        {
            cout<<"\t"<<C[i][j]<<" ";
        }
        cout<<endl;
    }

    return 0;
}


























































Entrada de Matrices Codigo en C++


Codigo fuente en C++


#include <iostream>
using namespace std;
int mat[20][20];
int c,p,k,s,i,j,dim;
#define n 8
void imprimir()
{
 
    cout<<"\n";
 
    for (i=0; i<=n-1;i++)
    {
      for (j=0;j<=n-1;j++)
        {
        cout<<"\t"<<mat[i][j];
        }
       cout<<"\n";
    }
}



void entrada_1( )
{
   
      //Imprimir();
    cout<<"ENTRADA N° (1) ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (i=0; i<=n-1; i++)
    {
   
            for (j=0; j<=n-1; j++)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

 
    }



     
}

void entrada_2( )
{
     cout<<"ENTRADA N° 2 ";
    cout<<"\n";
 
 
    c=n;
    s=0;
    dim=(n*n)-1;
    i=0;
    k=0;
    //cout<<"\nn="<<n;
    for (k=0; k<=n; k++)
    {
        //cout<<"\nc="<<c;
        if (c==n)
        {
       
            for (i=n-1; i>=0; i--)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c-1;
            }
         j=j+1;
     
        }
 
        if (c==0)
        {
     
   
            for (i=0; i<=n-1;i++)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c+1;
           
            }
            //cout<<"\n";
            j=j+1;
        }
    }
}
void entrada_3()
{
    cout<<"ENTRADA N° 3 ";
    cout<<"\n";
    //n=9;
    c=0;
    s=0;
    dim=(n*n)-1;
    i=0;
    //cout<<"\nn="<<n;
    for (k=0; k<=n; k++)
    {
        if (c==0)
        {
       
           
            for (j=0; j<=(n-1); j++)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c+1;
            }
         i=i+1;
       
        }


   
        if (c==(n))
        {
       
     
         //cout<<"\n";
           //i=i+1;
            for (j=n-1; j>=0;j--)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c-1;
            }
            //cout<<"\n";
            i=i+1;
        }
   
   
    }
}

void entrada_4()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (4)  ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (j=0; j<=n-1; j++)
    {
      //cout<<"\n"<<c;
      if (c==n)
          {
             // k=k+1;
          //k=i;
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
              for (k=n-1; k>=0; k--)
            {
                s=s+1;
                mat[k][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }
            c=c-n;

           
          }
          if (c==0)
          {
            for (i=0; i<=n-1; i++)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

          }
    }




void entrada_5( )
{
     cout<<"ENTRADA N° 5 ";
    cout<<"\n";
 
    c=n;
    s=0;
    dim=(n*n)-1;
    i=0;
    k=0;
    //cout<<"\nn="<<n;
    for (k=0; k<=n; k++)
    {
        //cout<<"\nc="<<c;
        if (c==n)
        {
       
            for (j=n-1; j>=0; j--)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c-1;
            }
         i=i+1;
     
        }
 
        if (c==0)
        {
     
   
            for (j=0; j<=n-1;j++)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c+1;
           
            }
            //cout<<"\n";
            i=i+1;
        }
    }
}


void entrada_6()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (6) ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (i=0; i<=n; i++)
    {
      if (c==n)
          {
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
           
          }
            for (j=n-1; j>=0; j--)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }
 
    }




void entrada_7( )
{
     cout<<"ENTRADA N° 7  ";
    cout<<"\n";
 
 
    c=n;
    s=-n;
    dim=(n*n)-1;
    i=0;
    k=0;
    j=n;
    //cout<<"\nn="<<n;
    for (k=0; k<=n; k++)
    {
        //cout<<"\nc="<<c;
        if (c==n)
        {
       
            for (i=n-1; i>=0; i--)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c-1;
            }
         j=j-1;
     
        }
 
        if (c==0)
        {
     
   
            for (i=0; i<=n-1;i++)
            {
                s=s+1;
                mat[i][j]=s;
                //cout<<"\t"<<mat[i][j];
                c=c+1;
           
            }
            //cout<<"\n";
            j=j-1;
        }
    }
}


void entrada_8()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (8) ";
    cout<<"\n";
 
    c=0;
    s=-n;


    for (j=n; j>=0; j--)
    {
      //cout<<"\n"<<c;
      if (c==n)
          {
             // k=k+1;
          //k=i;
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
              for (k=0; k<=n-1; k++)
            {
                s=s+1;
                mat[k][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }
            c=c-n;

           
          }
          if (c==0)
          {
            for (i=0; i<=n-1; i++)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

          }
    }




void entrada_9()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (9)  ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (j=0; j<=n-1; j++)
    {
      //cout<<"\n"<<c;
      if (c==n)
          {
             // k=k+1;
          //k=i;
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
              for (k=0; k<=n-1; k++)
            {
                s=s+1;
                mat[k][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }
            c=c-n;

           
          }
          if (c==0)
          {
            for (i=0; i<=n-1; i++)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

          }
    }





void entrada_10()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (10) ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (j=0; j<=n; j++)
    {
      if (c==n)
          {
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
           
          }
            for (i=n-1; i>=0; i--)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

 
    }





void entrada_12()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (12) ";
    cout<<"\n";
 
    c=0;
    s=0;


    for (j=n-1; j>=0; j--)
    {
      if (c==n)
          {
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
           
          }
            for (i=n-1; i>=0; i--)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

 
    }




void entrada_13()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (13) ";
    cout<<"\n";
    cout<<"----------------------------------------------------";
    cout<<"\n";
    c=0;
    s=0;


    for (i=n-1; i>=0; i--)
    {
      if (c==n)
          {
              //cout<<"c="<<c<<"n"<<n<<"i"<<i<<"="<<mat[0][1];
           
          }
            for (j=n-1; j>=0; j--)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

 
    }



void entrada_11()
{
 
     //Imprimir();
    cout<<"ENTRADA N° (11) ";
    cout<<"\n";
    cout<<"----------------------------------------------------";
    cout<<"\n";
 
     //Imprimir();
 
    c=0;
    s=0;


    for (j=n-1; j>=0; j--)
    {
      //cout<<"\n"<<c;
      if (c==n)
          {
         
              for (k=n-1; k>=0; k--)
            {
                s=s+1;
                mat[k][j]=s;
                c=c+1;
             
            }
            c=c-n;

           
          }
          if (c==0)
          {
            for (i=0; i<=n-1; i++)
            {
                s=s+1;
                mat[i][j]=s;
                c=c+1;
                //cout<<"\t"<<mat[i][j];
 
            }

          }
 
    }


int main(void)
{
    int MATRIX;
    cout<<"N="<<n;
    cout<<"\n";
 
 
 
 
//entrada_11();
//entrada_11();

     MATRIX=13;
 
 
 
 
 
    if (MATRIX==1)
    {
    entrada_1(); 
    }
 
    if (MATRIX==2)
    {
    entrada_2(); 
    }
 
    if (MATRIX==3)
    {
    entrada_3(); 
    }
    if (MATRIX==4)
    {
    entrada_4(); 
    }
    if (MATRIX==5)
    {
    entrada_5(); 
    }
    if (MATRIX==6)
    {
    entrada_6(); 
    }
    if (MATRIX==7)
    {
    entrada_7(); 
    }
    if (MATRIX==8)
    {
    entrada_8(); 
    }
    if (MATRIX==9)
    {
    entrada_9(); 
    }
    if (MATRIX==10)
    {
    entrada_10(); 
    }
    if (MATRIX==11)
    {
    entrada_11(); 
    }
    if (MATRIX==12)
    {
    entrada_12(); 
    }
    if (MATRIX==13)
    {
    entrada_13(); 
    }
 
 
    //entrada_8();
     //entrada_3();
   // entrada_5();
    //entrada_6();
    //entrada_7();
    //entrada_14();
    //entrada_10();
    //entrada_14();
    //entrada_15();
    imprimir();
 

}




No hay comentarios:

Publicar un comentario