MATRIZES PROGRAMAS BÁSICOS - Feg

Propaganda
Programação de Computadores – 2o Sem- 2013 – Prof. André Amarante Luiz – LAB7
Esse material foi preparado pelos professores Aníbal Tavares de Azevedo e Cassilda
Maria Ribeiro para o curso de Programação de Computadores I – FEG/UNESP
Se não puder se destacar pelo talento, vença
pelo esforço. Dave Weinbaum
MATRIZES
A declaração de vetores com uma dimensão,
nada mais é que um caso particular da
declaração de vetores com qualquer número
de dimensões. Com a seguinte sintaxe:
tipo vetor[dim1] [dim2] [...] [dimn]
Então, uma matriz pode ser vista como um
vetor de 2 dimesões e pode ser declarada da
seguinte forma:
tipo vetor[dim1] [dim2]
A inicialização de uma matriz pode ser feita
das seguintes formas:
int M[2][3] = {{1, 2, 3}, {4, 5, 6}};
int M[2][3] = {1, 2, 3, 4, 5, 6};
Neste caso as declarações são equivalentes,
mas a primeira declaração diz para colocar o
vetor {1, 2, 3} na primeira linha da matriz M
e o vetor {4, 5, 6} na segunda linha da
matriz M. A segunda declaração
simplesmente usa um único vetor que vai
sendo percorrido e preenchendo cada linha
da matriz M. Quando uma linha é
totalmente preenchida e ainda restam
elementos no vetor de inicialização, passa-se
para a próxima linha da matriz.
PT1: Construa um programa que use a
inicialização {1, 2, 3, 4, 5, 6} e mostre os
elementos da matriz.
#include <stdio.h>
main()
{
int i, j;
int M[2][3] = {1, 2, 3, 4, 5, 6};
for ( i = 0 ; i < 2 ; i++ )
{
for (j = 0; j < 3; j++ )
printf("%d ",M[i][j]);
printf("\n");
}
}
Com o PT1 é possível saber como
manipular os elementos de uma matriz.
Também é possível ver que o elemento
M[1][2] ocupa a 2ª. linha e a 3ª. coluna da
matriz M de dimensão 2x3 e vale 6:
[0]
[1]
[0] [1] [2]
1 2 3
4 5 6
PT2: Construir um código que calcule a
multiplicação de uma matriz A pelos
elementos de um vetor x e coloque o
resultado em um vetor b.
float a[3][3], x[3], b[3];
int i,j;
for ( i = 0 ; i < 3 ; i++ )
{
b[i] = 0.0;
for ( j = 0 ; j < 3 ; j ++ )
b[i] += a[i][j] * x[j];
}
PE2: Crie um programa que imprime o
resultado do código do PT2 para os
seguintes valores de a e b:
1 2 3
1


a  4 5 6 e b  2 .
7 8 9
3
PROGRAMAS BÁSICOS
PB1: Generalize o PT11 para qualquer
matriz mxn. Os elementos da Matriz M são
dados por M i  j   2 * i  j e do vetor x
por xi   i  1 . Calcule o valor de M*x e
mostre o vetor resultante.
PB2: Elabore um programa que fornece
uma matriz C com o triângulo de pascal até a
n-ésima linha (dado fornecido pelo usuário):
1
11
121
1331
Dica: use que Cn,k = Cn-1,k-1 + Cn-1,k.
PB3: Construa um programa que calcule e
mostre a soma de duas matrizes de
dimensão 4x4. Use qualquer regra de
formação para construir as duas matrizes.
PB4: Construa um programa que fornece o
1
Programação de Computadores – 2o Sem- 2013 – Prof. André Amarante Luiz – LAB7
Esse material foi preparado pelos professores Aníbal Tavares de Azevedo e Cassilda
Maria Ribeiro para o curso de Programação de Computadores I – FEG/UNESP
resultado da multiplicação de 2 matrizes A e
B quaisquer.
PB5: Ler uma matriz A de elementos
inteiros distintos de dimensão MxM (M50).
Gerar dois vetores V e W, formados
respectivamente pela linha de A
correspondente ao maior elemento da
diagonal principal e pela coluna de A
correspondente ao menor elemento da
diagonal principal. Escrever a matriz A e os
vetores V e W.
pelo vetor V. Escrever a matriz A inicial , os
M vetores produzidos, o vetor V e a matriz A
modificada.
PB8: Gerar uma matriz A(MxN) triangular
superior da seguinte maneira:
A(I,J) = 0 para I >J
A(I,J) = e
 (I  J)
para I  J
1 2 3 8
4 0 5 1
Exemplo : A =
6 7 9 3
4 10 3 5
V = (6,7,9,-3) e W = (8,-1,-3,-5)
PB6: Ler uma matriz A (MxN) de elementos
inteiros. Calcular e imprimir a soma dos
elementos situados abaixo da diagonal principal
da matriz, incluindo os elementos da própria
diagonal.
PB7: Ler uma matriz A (MxN) de
elementos inteiros. Calcular o traço da
matriz A (soma dos elementos da diagonal
principal).
PB8: Ler uma matriz A de dimensão M x M
e a seguir gerar M vetores, onde cada vetor
corresponde a uma linha da matriz.
Encontrar os maiores elementos de cada
vetor e armazená-los em um vetor V.
Substituir a penúltima coluna da matriz A
2
Download