Buscar

quero saber como faço um produto de matrizes nxn (tipo, 3x3 , 4x4,, 5x5) em uma função usando ponteiro na linguagem C++,

só to com duvida na parte de montar a conta na função, esse é um produto de matrizes 3x3 que eu fiz, preciso uma nxn onde a ppessoa entra com o tipo do n (tipo 3x3 , 4x4 etc) e ponha os valores da matriz(mais isso eu ja sei)

 

#include <stdio.h>
#include <stdlib.h>
//Discente: Rafael Candido Mateus Bastida
float *matriz(float *p, float *q)
{
float a[3][3], *res;

a[0][0] = p[1]*q[1] + p[2]*q[4] + p[3]*q[7];
a[0][1] = p[1]*q[2] + p[2]*q[5] + p[3]*q[8];
a[0][2] = p[1]*q[3] + p[2]*q[6] + p[3]*q[9];
a[1][0] = p[4]*q[1] + p[5]*q[4] + p[6]*q[7];
a[1][1] = p[4]*q[2] + p[5]*q[5] + p[6]*q[8];
a[1][2] = p[4]*q[3] + p[5]*q[6] + p[6]*q[9];
a[2][0] = p[7]*q[1] + p[8]*q[4] + p[9]*q[7];
a[2][1] = p[7]*q[2] + p[8]*q[5] + p[9]*q[8];
a[2][2] = p[7]*q[3] + p[8]*q[6] + p[9]*q[9];

res = a[0];
return res;
}

int main()
{
float m1[3][3], m2[3][3], *p,*q, *prod;
int i,j;

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("informe a primeira matriz 3x3, m1[%d][%d]: ", i,j);
scanf("%f", &m1[i][j]);
}
}

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("informe a primeira matriz 3x3, m2[%d][%d]: ", i,j);
scanf("%f", &m2[i][j]);
}
}

p=m1[0];
q=m2[0];

prod = matriz(p,q);

printf("A matriz resultante entra o produto das matrizes m1 e m2 e:\n %0.3f %.03f %0.3f \n %0.3f %0.3f %0.3f \n %0.3f %0.3f %0.3f", prod[0],prod[1],prod[2],prod[3],prod[4],prod[5],prod[6],prod[7],prod[8],prod[9]);


}

💡 1 Resposta

User badge image

Cristian Kevin

sdasdasdsa

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais