Não estou conseguindo fazer o programa do calculo da multiplicação de 2 matrizes para fazer a transposta do resultado dela.
#include <stdio.h>
#include <stdlib.h>
#define T_BUFFER 512
int main(void)
{
int *numeros, q_linhas = 0, q_colunas = 0, linhas, colunas;
char buffer[T_BUFFER];
/* Pega a quantidade de linhas da matriz */
do {
printf("Digite a quantidade de linhas da matriz\n");
if (fgets(buffer, T_BUFFER, stdin) != NULL) {
if (buffer[0] != '\n') {
if (sscanf(buffer, "%i", &q_linhas) != 1) {
printf("Digite um numero\n");
}
} else {
printf("Digite uma entrada valida!\n");
}
}
} while (q_linhas <= 0);
/* Pega a quantidade de colunas da matriz */
do {
printf("Digite a quantidade de colunas da matriz\n");
if (fgets(buffer, T_BUFFER, stdin) != NULL) {
if (buffer[0] != '\n') {
if (sscanf(buffer, "%i", &q_colunas) != 1) {
printf("Digite um numero\n");
}
} else {
printf("Digite uma entrada valida!\n");
}
}
} while (q_colunas <= 0);
/* Reserva memoria para a matriz */
numeros = malloc(sizeof(*numeros)*q_linhas*q_colunas);
if (numeros == NULL) {
perror("Erro ao reservar memoria!");
exit(EXIT_FAILURE);
}
/* Lê a matriz do úsuario */
for (linhas = 0; linhas < q_linhas; linhas++) {
for (colunas = 0; colunas < q_colunas; colunas++) {
int pega_novamente = 1;
/* Pega um numero */
do {
printf("[%i][%i]\n", linhas, colunas);
if (fgets(buffer, T_BUFFER, stdin) != NULL) {
if (buffer[0] != '\n') {
if (sscanf(buffer, "%i", &numeros[(linhas*q_colunas)+colunas]) == 1) {
pega_novamente = 0; /* Sai do "do {} while()" */
}
} else {
printf("Digite uma entrada valida!\n");
}
}
} while (pega_novamente);
}
}
/* Mostra a matriz */
printf("Matriz digitada\n");
for (linhas = 0; linhas < q_linhas; linhas++) {
for (colunas = 0; colunas < q_colunas; colunas++) {
printf("%i,", numeros[(linhas*q_colunas)+colunas]);
}
putchar('\n');
}
getchar(); /* Espera o enter */
/* Libera a memoria */
free(numeros);
return(0);
}
Pergunta
poxoreo1984
Não estou conseguindo fazer o programa do calculo da multiplicação de 2 matrizes para fazer a transposta do resultado dela.
Link para o comentário
Compartilhar em outros sites
1 resposta 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.