Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho que resolver o problema:
Elabore um programa em C que receba do usuário duas matrizes quadradas de números inteiros.
Crie funções para calcular: a soma das duas matrizes, o produto das duas matrizes, a transposta da
primeira matriz e o determinante da segunda matriz. As matrizes de entrada deverão ser passadas
por parâmetro para cada uma das funções.
Fiz isso:
#include<stdio.h>
#include<stdlib.h>
int i;
int j;
int n;
void soma(int a[i][j],int b[i][j]);
void produto(int a[i][j],int b[i][j]);
void transposta(int a[i][j]);
void determinante(int a[i][j]);
int main(){
int m1[i][j];
int m2[i][j];
printf("Digite o numero de linhas das matrizes ");
scanf("%d", &n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("Digite os elementos da primeira matriz ");
scanf(" %d",&m1[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("Digite os elementos da segunda matriz ");
scanf("%d",&m2[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %d", m1[i][j]);
}
printf("\n");
}
printf("\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %d", m2[i][j]);
}
printf("\n");
}
printf("\n");
soma(m1,m2);
printf("\n");
produto(m1,m2);
printf("\n");
transposta(m1);
return 0;
}
void soma(int a[i][j],int b[i][j])
{
int c[i][j];
for(i=0;i<n;i++){
for(j=0;j<n;j++)
c[i][j]=0;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
c[i][j]= (a[i][j])+(b[i][j]);
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %d",c[i][j]);
}
printf("\n");
}
}
void produto(int a[i][j],int b[i][j])
{
int d[i][j];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
d[i][j]=0;
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
d[i][j]= d[i][j]+a[i][j]*b[j][i];
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %d",d[i][j]);
}
printf("\n");
}
}
void transposta(int a[i][j])
{
int e[i][j];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
e[j][i]=0;
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
e[j][i]=a[i][j];
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %d",e[i][j]);
}
printf("\n");
}
}
Mas quando compilo ( Usando linux ubuntu) e entro com alguns numeros aparece isso:
Digite o numero de linhas das matrizes 2
Digite os elementos da primeira matriz 1
Digite os elementos da primeira matriz 2
Digite os elementos da primeira matriz 3
Digite os elementos da primeira matriz 4
Digite os elementos da segunda matriz 5
Digite os elementos da segunda matriz 6
Digite os elementos da segunda matriz 7
Digite os elementos da segunda matriz 8
3 4
3 4
7 8
7 8
10 12
-1079419664 -1216704212
21 -22711360
0 0
3 0
4 0
Será que alguém pode me dar uma força. Agradeço desde já.
Carregando comentários...