Matrizes esparsas, produto por escalar e produto por um vetor

Matriz esparsa é uma matriz que possui muitos zeros. Portanto, por quê guardar tantos zeros na memória? Neste script mostro uma maneira eficiente de armazenar uma matriz esparsa e como fazer algumas operações com ela.

Por: Daniel Moreira dos Santos


Rotinas para manipulação de matrizes

Mais um algoritmo numérico para manipulação de matrizes.

Por: Daniel Moreira dos Santos


Produto de duas matrizes alocadas dinamicamente

Faz o produto de duas matrizes alocadas dinamicamente. Os valores das matrizes são lidos de um arquivo chamado matrizes.txt, que você pode criar conforme especificado no arquivo principal.c. O programa inclui as funções: Matriz* cria (int m, int n); // Cria a matriz void imprime(Matriz *A); // Imprime os elementos da matriz Matriz* produto(Matriz *A, Matriz *B); // faz o produto das matrizes A e B float acessa (Matriz* mat, int i, int j); // retorna um valor específico da matriz void atribui (Matriz* mat, int i, int j, float v); // atribui um valor à uma posição específica da matriz void libera (Matriz* mat); // libera a memória alocada int get_nlin (Matriz* mat); // retorna número de linhas int get_ncol (Matriz* mat); // retorna número de colunas No programa principal temos a matriz A[m,n] e fazemos B[n,m], porque o objetivo é obter uma matriz quadrada. Mas a função produto funciona para quaisquer matrizes A[m,n] e B[p,q] desde que n=p.

Por: Daniel Moreira dos Santos


Funções de soma e subtração de matrizes alocadas dinamicamente

Dada a quantidade de linha e coluna das matrizes, fazemos a alocação dinamicamente através da função "cria". O programa inclui as funções: Matriz* cria (int m, int n); // cria a matriz através de alocação dinâmica Matriz* ADD (Matriz* A, Matriz* B); // Soma duas matrizes Matriz* MINUS (Matriz* A, Matriz* B); // Subtrai duas matrizes (mesmo conceito da função de cima) void libera (Matriz* mat); // Libera a memória alocada float acessa (Matriz* mat, int i, int j); // Retorna um valor específico da matriz void atribui (Matriz* mat, int i, int j, float v); // Atribui um valor à uma posição específica int linhas (Matriz* mat); // Retorna número de linhas int colunas (Matriz* mat); // Retorna número de colunas

Por: Daniel Moreira dos Santos


Função que converte números decimais em binários

Pequeno programinha que recebe números decimas e os converte para binário.

Por: Jefferson Johner


Calculadora em shell

Neste script alguns recursos mais avançados já são usados, então considero que o aluno não precisa de comentários, pois já conhece o básico. Script feito em C compatível com C++. Coloco como domínio público.

Por: Vinícius dos Santos Oliveira






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts