¿Cuál es el código / algo para la multiplicación de matriz dispersa?

Oye:)

Creo que el código para la multiplicación matricial general también se puede utilizar para la multiplicación matricial dispersa …

#include

usando el espacio de nombres estándar;

int main ()
{
int r1, r2, c1, c2, sw, i1, j1, i2, j2, k, p, q, r, i3, j3;
int a [200] [200], b [200] [200], pro [200] [200];
cout << "ingrese la matriz dispersa 1 filas y columnas:";
cin >> r1 >> c1;
cout << "ingrese la matriz dispersa 2 filas y columnas:";
cin >> r2 >> c2;
si (c1! = r2)
{
sw = 1;
}
más
{
sw = 2;
}
interruptor (sw)
{
caso 1:

cout << "la multiplicación de la matriz no es posible … !!
descanso;
caso 2:
cout << "ingrese elementos de matriz 1 dispersos …" << endl;
para (i1 = 0; i1 <r1; i1 ++)
{
para (j1 = 0; j1 <c1; j1 ++)
{
cin >> a [i1] [j1];
}
}
cout << "ingrese elementos de matriz dispersa 2 …" << endl;
para (i2 = 0; i2 <r2; i2 ++)
{
para (j2 = 0; j2 <c2; j2 ++)
{
cin >> b [i2] [j2];
}
}
para (p = 0; p <r1; p ++)
{
para (q = 0; q <c2; q ++)
{
pro [p] [q] = 0;
para (r = 0; r <c1; r ++)
{
pro [p] [q] = pro [p] [q] + a [p] [r] * b [r] [q];
}
}
}
cout << "el producto de las dos matrices dispersas es …" << endl;
para (i3 = 0; i3 <r1; i3 ++)
{
para (j3 = 0; j3 <c2; j3 ++)
{
cout << pro [i3] [j3] << "";
}
cout << endl;
}
descanso;
}
devuelve 0;
}

Pruebe el código anterior :))

ADIÓS:))