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

[C] Funções com matriz em TAD


Joker023

Pergunta

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).

#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;
}

Obrigado desde já!

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,3k
×
×
  • Criar Novo...