Professional Documents
Culture Documents
switch (opcion)
{
case 1:
if (numfa == numfb && numca == numcb)
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = matrizA[i][j] + matrizB[
i][j];
}
}
}
else
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = -9999;
}
}
flag = 1;
}
break;
case 2:
if (numfa == numfb && numca == numcb)
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = matrizA[i][j] - matrizB[
i][j];
}
}
}
else
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numca; j++)
{
matrizC[i][j] = -9999;
}
}
flag = 1;
}
break;
case 3:
if (numca == numfb)
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = 0;
for (int k = 0; k < numca; k++)
{
matrizC[i][j] = matrizC[i][j] +
matrizA[i][k] * matrizB[k][j];
}
}
}
}
else
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = -9999;
}
}
flag = 2;
}
break;
case 4:
if (numfa == numfb && numca == numcb)
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
if (matrizB[i][j] == 0)
{
matrizC[i][j] = -9999;
}
else
{
matrizC[i][j] = matrizA[i][j] /
matrizB[i][j];
}
}
}
flag = 3;
}
else
{
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
matrizC[i][j] = -9999;
}
}
flag = 1;
}
break;
default:
printf("ERROR DE OPCION \n");
break;
}
//Impresion de la Matriz A
printf("Matriz A \n");
printf("\n");
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numca; j++)
{
printf("%5.2f \t", matrizA[i][j]);
}
printf("\n");
}
printf("\n");
//Impresion de la Matriz B
printf("Matriz B\n");
printf("\n");
for (i = 0; i < numfb; i++)
{
for (j = 0; j < numcb; j++)
{
printf("%5.2f \t", matrizB[i][j]);
}
printf("\n");
}
printf("\n");
//Bandera
if (flag == 1)
{
printf("Para realizar la suma, la resta o la divison de matrices
\n el numero de fila y columnas deben ser igual \n es decir la misma dimension
de ambas matrices \n");
}
else
{
if (flag == 2)
{
printf("Para realizar la multiplicacion de matrices \n l
a dimension de las columnas de la primera matriz \n debe ser igual a la dimensio
n de las filas de la segunda matriz \n");
}
else
{
if (flag==3)
{
printf("Recuerda que la division para cero no ex
iste \n");
}
}
}
printf("Matriz Resultante\n");
printf("\n");
for (i = 0; i < numfa; i++)
{
for (j = 0; j < numcb; j++)
{
printf("%5.2f \t", matrizC[i][j]);
}
printf("\n");
}
getchar();
getchar();
return 0;
}