Suma de Matrices en C++



 #include <iostream>

using namespace std;


void leerMatriz (int f, int c, int**&matriz);

void escribirMatriz (int f, int c, int**matriz);

void calc(int f, int c, int**matriz1, int**matriz2, int**&matrizR);


int main ()


{

    int f,c,i;

    cout<<"Ingrese el numero de filas:";cin>>f;

    cout<<"Ingrese el numero de columnas:";cin>>c;


    int matriz1[f][c], matriz2[f][c], matriz3[f][c];


    int *p1[f];   //Variable con puntero asignacion

    int *p2[f];

    int *p3[f];


      //Cada elemento del arreglo de punteros debe apuntar a cada fila de la matriz

     for (i=0; i<f;i++)

     {

       p1[i]=matriz1[i];     //  p1[0]=matriz1[0]   p1[1]=matriz1[1]  p1[2]=matriz1[2]

       p2[i]=matriz2[i];     //  p2[0]=matriz2[0]   p2[1]=matriz2[1]  p2[2]=matriz2[2]

       p3[i]=matriz3[i];     //  p3[0]=matriz3[0]   p3[1]=matriz3[1]  p3[2]=matriz3[2]

     }


    //Creación un puntero a puntero

       int **o,**p, **q;   //? Moverse por las posiciones de la matriz

       o=p1;p=p2;q=p3;



    leerMatriz(f,c,o);

    leerMatriz(f,c,p);

    escribirMatriz(f,c,o);

    escribirMatriz(f,c,p);

    calc(f,c,o,p,q);

    escribirMatriz(f,c,q);

}




void leerMatriz (int f, int c, int**&matriz)  //?

{


    int i,j;


    cout<<endl<<"Ingresar los elementos de la Matriz:"<<endl;

    for(i=0; i<f; i++)

    {

        for(j=0; j<c; j++)

        {

            cout<<"Ingrese el elemento ["<<i<<";"<<j<<"]:";

            cin>>matriz[i][j];

        }

    }

}




void escribirMatriz (int f, int c, int**matriz)

{

   int i,j;

   for (i=0 ; i<f; i++)

    {

        for(j=0; j<c; j++)

            cout<<matriz[i][j]<<" ";


        cout<<endl;

    }

}



void calc(int f, int c, int**matriz1, int**matriz2, int**&matrizR)

{

    int i,j;


    cout<<endl<<"Elementos de la Matriz C:"<<endl;

    for(i=0; i<f; i++)

    {

        for(j=0; j<c; j++)

        {

            matrizR[i][j]=matriz1[i][j]+matriz2[i][j];

        }

    }

}


Publicar un comentario

0 Comentarios