Buscar

MATRIZES PROGRAMAÇÃO

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

CENTRO UNIVERSITÁRIO UNIFACVEST
CURSO DE ENGENHARIA CIVIL 2° FASE
FILIPE JORGE DOS SANTOS
JÉSSICA SCHUTZ MENGUE
MATRIZES EM LINGUAGEM C
LAGES
2016
MATRIZ SOMA
Para adicionarmos duas ou mais matrizes é preciso que todas elas tenham o mesmo número de linhas e de colunas. A soma dessas matrizes irá resultar em outra matriz que também terá o mesmo número de linhas e de colunas.
Os termos deverão ser somados com os seus termos correspondentes.
#include <stdio.h>
#include <stdlib.h>
 
void preencher(int m[][10],int linhas, int colunas);
void mostrar(int m[][10],int linhas, int colunas);
void soma(int m[][10], int n[][10], int o[][10], int i, int j);
 
int main(int argc, char *argv[])
{
 int a[10][10], b[10][10], c[10][10];
 
 printf("Matriz A:\n");
 preencher(a,2,2);
 printf("Matriz B:\n");
 preencher(b,2,2);
 printf("Somando...\n");
 soma(a,b,c,2,2);
 
 mostrar(c,2,2);
 
 system("PAUSE");
 return 0;
}
 
void preencher(int m[][10], int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]: ",i,j);
 scanf("%d",&m[i][j]);
 }
 }
}
 
void mostrar(int m[][10],int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]= %d\n",i,j,m[i][j]);
 }
 }
}
 
void soma(int m[][10], int n[][10], int o[][10], int linhas, int colunas)
{
 int i,j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 o[i][j] = m[i][j] + n[i][j];
 }
 }
MATRIZ SUBTRAÇÃO
Para efetuarmos a subtração de duas matrizes, as matrizes subtraídas devem ter a mesma ordem (mesmo número de linhas e colunas) e a matriz obtida com a subtração (matriz diferença) também deve ter o mesmo número de linhas e colunas que as matrizes subtraídas.
Cada elemento de uma matriz deve ser subtraído com o elemento correspondente da outra matriz.
#include <stdio.h>
#include <stdlib.h>
 
void preencher(int m[][10],int linhas, int colunas);
void mostrar(int m[][10],int linhas, int colunas);
void soma(int m[][10], int n[][10], int o[][10], int i, int j);
 
int main(int argc, char *argv[])
{
 int a[10][10], b[10][10], c[10][10];
 
 printf("Matriz A:\n");
 preencher(a,2,2);
 printf("Matriz B:\n");
 preencher(b,2,2);
 printf("Somando...\n");
 soma(a,b,c,2,2);
 
 mostrar(c,2,2);
 
 system("PAUSE");
 return 0;
}
 
void preencher(int m[][10], int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]: ",i,j);
 scanf("%d",&m[i][j]);
 }
 }
}
 
void mostrar(int m[][10],int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]= %d\n",i,j,m[i][j]);
 }
 }
}
 
void soma(int m[][10], int n[][10], int o[][10], int linhas, int colunas)
{
 int i,j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 o[i][j] = m[i][j] - n[i][j];
 }
 }
}
MULTIPLICAÇÃO
A multiplicação de matrizes é realizada de acordo com a seguinte condição: o número de colunas da 1ª matriz deve ser igual ao número de linhas da 2ª matriz. 
#include <stdio.h>
#include <stdlib.h>
 
void preencher(int m[][10],int linhas, int colunas);
void mostrar(int m[][10],int linhas, int colunas);
 
void multiplicar(int m[][10], int n[][10], int o[][10], int limite);
 
int main(int argc, char *argv[])
{
 int a[10][10], b[10][10], c[10][10];
 
 printf("Matriz A:\n");
 preencher(a,2,2);
 printf("Matriz B:\n");
 preencher(b,2,2);
 printf("Multiplicando...\n");
 multiplicar(a,b,c,2);
 
 mostrar(c,2,2);
 
 system("PAUSE");
 return 0;
}
 
void preencher(int m[][10], int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]: ",i,j);
 scanf("%d",&m[i][j]);
 }
 }
}
 
void mostrar(int m[][10],int linhas, int colunas)
{
 int i, j;
 
 for(i=0;i<linhas;i++)
 {
 for(j=0;j<colunas;j++)
 {
 printf("matriz[%d][%d]= %d\n",i,j,m[i][j]);
 }
 }
}
 
void multiplicar(int m[][10], int n[][10], int o[][10], int limite)
{
 int i,j,k;
 
 for(i=0;i < limite; i++)
 {
 for(j=0;j < limite; j++)
 {
 o[i][j] = 0;
 
 for(k=0; k < limite; k++)
 {
 o[i][j] += m[i][k] + n[k][j];
 }
 }
 }
}
MATRIZ DIVISÃO

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando