Вы находитесь на странице: 1из 7

Universidade Anhanguera de So Paulo Santo Andr Unidade 3

Curso: Tecnologia em Anlise e Desenvolvimentos de Sistemas 3NA Noturno.

Disciplina: Programao estruturada II.

Gilberto Antnio da Silva Junior

RA: 8490236985

gilbertojunior533@gmail.com
Emdio Junior

RA: 8068825350

emidiomjunior@bol.com.br
Elvis Bezerra da Costa

RA: 1299247970

Murilo Carvalho Silva

RA: 8490236901

murilo.carvalho.mcs@outlook.com
Felipe Ferreira de Lima

RA: 8409109329

felipe-spfc10@hotmail.com

Atividade: ATPS.

Professor: Claudinei.

Santo Andr 2015.

Matrizes
Matriz a uma estrutura de dados homognea com duas ou mais dimenses.
Os itens de uma matriz tem que ser todos do mesmo tipo de dado.
Na

prtica,

as

matrizes

formam

tabelas

na

memria.

Exemplo de declarao de matriz com 2 dimenses usando linguagem C


float Media[5][2];

O valor 5 representa a quantidade de linhas.

O valor 2 representa a quantidade de colunas.

Dizemos que esta matriz do tipo 5 X 2.


Como temos 5 linhas com 2 posies de armazenamento em cada linha, temos
capacidade para armazenar at 10 elementos (itens) do tipo float.
Ser necessrio utilizar um ndice para cada dimenso da matriz, logo uma
matriz bidimensional ter 2 ndices, um para posicionar a linha, outro para a
coluna.
Assim, como no vetor, o ndice da primeira posio zero.

Matriz[0][0] O valor ser armazenado na primeira linha e coluna.


Matriz[4][2] O valor ser armazenado na quinta linha e na terceira
coluna.

As matrizes j podem vir com os valores definidos, exemplo:

float Matriz[3][2] = {{7.0, 5.0}, {8.0,4.8}, {2.0,0.7}};


Matriz[1][0] = 8.0;

Para preencher uma matriz necessrio dois for, uma para mudar as linhas e
outro para mudar as colunas, exemplo:
float matriz[3][2];
for(linha
=
0;
linha
for(coluna = 0; coluna <= 1; coluna++)

<=

2;

linha++)

{
printf(\n Digite o valor da linha %d referente a coluna %d: ,
linha +1, coluna+1);
scanf(%d, &matriz[linha][coluna]);
}

Para mostrar as informaes de uma matriz o processo parecido, exemplo:

for(linha = 0; linha <= 2; linha++)


for(coluna = 0; coluna <= 1; coluna++)
{
coluna+1,

printf(\n Valor da linha %d referente a coluna %d: %d, linha+1,


matriz[linha][coluna]);

}
system(pause > null);

Exerccios:
1- Ler os salrios de 10 funcionrios, de Janeiro at Maio, calcular a mdia de
salrio de cada um dos funcionrios e mostrar o resultado na tela.
Em linguagem C:
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("title Exerccio 1");

int salario[10][5], mes, funcionario, ac = 0;


float media[10];

printf("\n MATRIZES \n");

for(funcionario = 0; funcionario <= 9; funcionario++)


{
for(mes = 0; mes <= 4; mes++)
{
printf("\n Digite o salario do funcionario %d referente ao mes
%d: ", funcionario+1, mes+1);
scanf("%d", &salario[funcionario][mes]); /* ENTRADA
DADOS Aqui informado o valor referente ao endereo salario[0][0] */

DE

ac = ac + salario[funcionario][mes]; /* Aqui acumulado o


valor digitado acima */
}

media[funcionario] = ac/5; /* Aqui guardado no vetor


media[funcionario] a media de cada funcionario, depois que seus respectivos
salrios j foram acumulados */
ac = 0; /* zerado o acumulador para que o for possa repetir e
acumular o salario de outro funcionario */
}

for(funcionario = 0; funcionario <= 9; funcionario++)

{
printf("\n Media de salario do funcionario %d: %2.2f", funcionario+1,
media[funcionario]); /* SADA DE INFORMAES Mostrando a media de cada
funcionario que foi armazenada no vetor anteriormente */

system("pause > null");


}
}

2- Preencher uma matriz (4x4), fazer a soma das linhas e a soma total, e
mostrar o resultado na tela.
Em linguagem C:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int matriz[4][4], soma_c = 0, soma_l = 0, soma_t = 0, linha, coluna,
soma_linha[4], soma_coluna[4];

system("title Exerccio 2");


printf("\n MATRIZES \n");

for(linha = 0; linha <= 3; linha++)


{
for(coluna = 0; coluna <= 3; coluna++)
{
printf("\n Digite o numero da linha %d referente a coluna %d:
", linha+1, coluna+1);
scanf("%d", &matriz[linha][coluna]); /* ENTRADA DE DADOS
O valor digitado armazenado no endereo matriz[0][0] */

soma_l = soma_l + matriz[linha][coluna]; /* O valor digitado


acima acumulado */
}

soma_linha[linha] = soma_l; /* Depois de acumulado ele guardado


em um vetor */

soma_t = soma_t + soma_linha[linha]; /* Um segundo acumulador


utilizado para fazer a soma total */
soma_l = 0; /* o acumulador zerado para ser usado novamente */
}

for(linha = 0; linha <= 3; linha++)


{
printf("\n Soma da linha %d: %d", linha+1, soma_linha[linha]); /*
SADA DE INFORMAES mostrado os valores que foram guardados na matriz
soma_linha[linha] */
}

printf("\n Soma total da matriz: %d: ", soma_t); /* mostrado o valor que
foi acumulado soma total */

system("pause > null");


}
3- Ler uma (3x3), encontrar o nmero 50, se encontrar mostrar o endereo
linha e coluna, se no encontrar mostrar a mensagem Nmero no
encontrado.
Em linguagem C:
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("title Exerccio 3");
int matriz[3][3], chave = 0, linha, coluna, l, c;

printf(" MATRIZ");

for(linha = 0; linha <= 2; linha++)


{
for(coluna = 0; coluna <= 2; coluna++)
{
printf("\n \n Digite o numero da linha %d referente a coluna
%d: ", linha+1, coluna+1);

scanf("%d", &matriz[linha][coluna]); /* ENTRADA DE DADOS


O valor digitado armazenado nos respectivos ndices */

if(matriz[linha][coluna] == 50) /* teste para verificar se o


numero digitado igual a 50 */
{
chave = 1;
l = linha+1;
c = coluna+1;
}
}
}

if(chave == 1) /* Se o nmero foi encontrado, ento mostrado a linha e a


coluna que ele se encontra */
printf("\n O numero 50 esta na linha %d e na coluna %d", l, c);
else
printf("\n Numero nao encontrado!");

system("pause > null");


}

Fontes: <http://linguagemc.com.br/matriz-em-c/> Acesso 12/03/2015,


Material estudado em sala de aula.

Вам также может понравиться