Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda em exercício de matrizes.


Asafe Colanigo

Pergunta

Bom dia/noite pessoal do fórum scriptbrasil, estou tendo dificuldades com o seguinte exercício em C envolvendo matrizes: 

image.png.80a6ff6f58ad8f9bfb8dc78ed58e78dd.png

Consegui escrever o programa, ele inicia e "funciona", entretanto não dá o resultado esperado.

esse é meu programa atual: 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
// mat5 = mat3(mat1 * mat2) + mat4b(mat4(2*mat2) - mat1)
void mat3func(float mat1[][3], float mat2[][3], float mat3[][3])
{
    int i,j,k;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            for(k=0;k<3;k++)
            {
            mat3[j] = mat3[j] + (mat1[k] * mat2[k][j]);
            }
        }
    }

}
void mat4func(float mat4[][3], float mat4a[][3])
{
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            mat4a[j] = mat4[j] * 2;
        }
    }

}
void mat4bfunc(float mat4b[][3], float mat4[][3], float mat1[][3])
{
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            mat4b[j] = mat4[j] - mat1[j];
        }
    }

}
void mat5func(float mat5[][3], float mat3[][3], float mat4b[][3])
{
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            mat5[j] = mat3[j] + mat4b[j];
        }
    }

}

int main()
{
    setlocale(LC_ALL, "portuguese");
    float mat1[3][3];
    float mat2[3][3];
    float mat3[3][3];
    float mat4[3][3];
    float mat4a[3][3];
    float mat4b[3][3];
    float mat5[3][3];
    int i, j, k;
    printf("Digite os números da matriz 3x3 A:");
    for(i=0;i < 3; i++)
    {
        for(j = 0; j < 3; j++)
        {
        printf("\nMatriz A[%d][%d] = ", i+1, j+1);
        scanf("%d", &mat1[j]);
        }
    }
    printf("Digite os números da matriz 3x3 B:");
    for(i = 0; i<3; i++)
    {
        for(j=0; j<3; j++)
        {
        printf("\nMatriz B[%d][%d] = ", i+1, j+1);
        scanf("%d", &mat2[j]);
        }
    }
    mat3func(mat1, mat2, mat3);
    mat4func(mat4, mat4a);
    mat4bfunc(mat4b, mat4, mat1);
    mat5func(mat5, mat4, mat4b);
    for(i=0; i<3;i++){
    for(j=0;j<3;j++)
    {
        printf("%.0f ", mat5[j]);
    }
    printf("\n");
}
    getch();
    return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...