Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Joker023

Funções com matriz em TAD

Recommended Posts

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 /*k = 0, elemento = 0;*/;    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_;    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á!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×