Preciso implementar o seguinte código com estas funções: transpor uma matriz dada, retornar a multiplicação de duas matrizes, multiplicar todos os elementos da diagonal principal da matriz(podendo usar apenas aritmética de ponteiros).
#include <stdio.h>
#include <stdlib.h>
struct matriz
{
int lin;
int col;
int *v;
};
typedef struct matriz Matriz;
int leitura_linha_coluna()
{
int linha_coluna;
do
{
scanf("%d", &linha_coluna);
}while(linha_coluna < 0);
return linha_coluna;
}
Matriz* cria_matriz(int linhas, int colunas)
{
int i, j;
Matriz *mat = (Matriz*) malloc(sizeof(Matriz));
if (mat == NULL)
{
printf("Nao foi possivel alocar a matriz.\n");
exit(1);
}
mat->lin = linhas;
mat->col = colunas;
mat->v = (int*) malloc(linhas * colunas * sizeof(float));
for(i = 0; i < linhas * colunas; i++)
{
scanf("%d", &mat->v[i]);
}
return mat;
}
void libera_matriz(Matriz *mat)
{
free(mat->v);
free(mat);
}
int main()
{
Matriz *matA, *matB, *matC;
int linha_A, linha_B, linha_C, coluna_A, coluna_B, coluna_C, i, j, k;
linha_A = leitura_linha_coluna();
coluna_A = leitura_linha_coluna();
matA = cria_matriz(linha_A, coluna_A);
linha_B = leitura_linha_coluna();
coluna_B = leitura_linha_coluna();
matB = cria_matriz(linha_B, coluna_B);
linha_C = leitura_linha_coluna();
coluna_C = leitura_linha_coluna();
matC = cria_matriz(linha_C, coluna_C);
libera_matriz(matA);
libera_matriz(matB);
libera_matriz(matC);
return 0;
}
Pergunta
Joker023
Boa tarde, rapazeada.
Preciso implementar o seguinte código com estas funções: transpor uma matriz dada, retornar a multiplicação de duas matrizes, multiplicar todos os elementos da diagonal principal da matriz(podendo usar apenas aritmética de ponteiros).
Obrigado desde já!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.