Parte 1 - Sessão de estudo sobre MATRIZES
Publicado por Thiago 19/01/2006
[ Hits: 5.430 ]
Nesta sessão abordo com exemplos simples o funcionamento de matrizes na linguagem C.
Os fontes desta sessão seguem o mesmo padrão da sessão de VETORES.
/*
Programa: LER_MAT.C
Autor: thiagoamm
Data: 18/01/06
Funcao: Ler duas matrizes A e B, cada uma de duas dimensoes
com 5 lnhas e 3 colunas. Construir uma matriz C de mesma
dimensao, a qual e formada pela soma dos elementos da matriz
A com os elementos da matriz B. Apresentar os valores da matriz C.
*/
/*
Algoritmo
declare A[1 : 5][1 : 3], B[1 : 5][1 : 3], C[1 : 5][1 : 3],
CONTL, CONTC numerico
{ Preenchendo a Matriz A }
CONTL = 1
repita
se CONTL > 5
entao interrompa
fim se
CONTC = 1
repita
se CONTC > 3
entao interrompa
fim se
leia A[CONTL][CONTC]
CONTC = CONTC + 1
fim repita
CONTL = CONTL + 1
fim repita
{ Preenchendo a Matriz B }
CONTL = 1
repita
se CONTL > 5
entao interrompa
fim se
CONTC = 1
repita
se CONTC > 3
entao interrompa
fim se
leia B[CONTL][CONTC]
CONTC = CONT + 1
fim repita
CONTL = CONTL + 1
fim repita
{ Preenchendo a Matriz C com a soma dos elementos de A e B }
CONTL = 1
repita
se CONTL > 5
entao interrompa
fim se
CONTC = 1
repita
se CONTC > 3
entao interrompa
fim se
C[CONTL][CONTC] = A[CONTL][CONTC] + B[CONTL][CONTC]
CONTC = CONTC + 1
fim repita
CONTL = CONTL + 1
fim repita
{ Escrevendo a Matriz C }
CONTL = 1
repita
se CONTL > 5
entao interrompa
fim se
CONTC = 1
repita
se CONTC > 3
entao interrompa
fim se
escreva A[CONTL][CONTC]
escreva B[CONTL][CONTC]
escreva C[CONTL][CONTC]
CONTC = CONTC + 1
fim repita
CONTL = CONTL + 1
fim repita
fim Algoritmo
*/
#include <stdio.h>
int main(void)
{
int A[5][3], B[5][3], C[5][3];
int i,j; // i = contador de linhas e j = contador de colunas.
/* Preechendo a Matriz A */
printf("\n --> Informe elementos para matriz A: \n \n");
for (i = 0; i <= 4; i++)
{
for (j = 0; j <= 2; j++)
{
printf("A[%d][%d] : ",(i + 1),(j + 1) );
scanf("%d",&A[i][j]);
}
}
/* Preenchendo a Matriz B */
printf("\n --> Informe elementos para matriz B: \n \n");
for (i = 0; i <= 4; i++)
{
for (j = 0; j <= 2; j++)
{
printf("B[%d][%d] : ",(i + 1),(j + 1) );
scanf("%d",&B[i][j]);
}
}
/* Preenchendo a Matriz C com a soma dos elementos das matrizes A e B */
for (i = 0; i <= 4; i++)
{
for (j = 0; j <= 2; j++)
{
C[i][j] = A[i][j] + B[i][j];
}
}
/* Imprimindo o resultado na tela */
printf("\n --> FORMULA: C[l][c] = A[l][c] + B[l][c] \n \n");
for (i = 0; i <= 4; i++)
{
for (j = 0; j <= 2; j++)
{
printf("A[%d][%d] = %d \n",(i + 1),(j + 1),A[i][j]);
printf("B[%d][%d] = %d \n",(i + 1),(j + 1),B[i][j]);
printf("C[%d][%d] = %d \n",(i + 1),(j + 1),C[i][j]);
}
}
return(0);
}
Simulador de Cronômetro com 2 digitos
Calcula diferença entre o maior e menos número digitado
Soma de números através de strings
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (0)
Servidor de DNS BIND Ubuntu server (4)
Como programar um sistema de controle para distribuições linux em c? (2)









