Funções com matrizes

Tópicos

  • Mais funções com Matrizes

Exercícios

Exercício 12.1

Parte A

Escreva uma função que recebe um inteiro lin e uma matriz real A e outro inteiro col e uma matriz real B, e calcula a soma do produto entre os elementos da linha lin de A e com os respectivos elementos da coluna col de B. Você deve considerar que o número de colunas de A é o mesmo número de linhas de B.

(aula12_ex121a_tentativa)



Parte B

Utilizando a função do item anterior, escreva um programa que leia duas matrizes, a matriz A de dimensão m x n e B de dimensão n x p e imprime a matriz C de dimensão m x p que é o produto de A por B.

(aula12_ex121b_tentativa)



Exercício 12.2

Parte A

Escreva uma função MAX que recebe como entrada uma matriz inteira A e devolve três inteiros: k, lin e col. O inteiro k é um maior elemento de A e é igual a A[lin,col].

(aula12_ex122a_tentativa)



Exemplo:

A = [ [3, 7, 1], [1, 2, 8], [5, 3, 4]]

a função deve devolver

8, 1, 2

Obs.: Se o elemento máximo ocorrer mais de uma vez, indique em lin e col qualquer uma das possíveis posições.

Parte B

Escreva um programa que, dado dois inteiros nl e nc e uma matriz quadrada de dimensão nl x nc, cujos elementos são todos inteiros, imprime uma tabela onde os elementos são listados em ordem decrescente, acompanhados da indicação de linha e coluna a que pertencem. Havendo repetições de elementos na matriz, a ordem é irrelevante. Utilize obrigatoriamente o procedimento da parte A, mesmo que você não o tenha feito.

Ex.: No caso da matriz acima, a saída poderia ser:

Elem   Linha  Coluna
  8      1      2
  7      0      1
  5      2      0
  4      2      2
  3      0      0
  3      2      1
  2      1      1
  1      0      2
  1      1      0

(aula12_ex122b_tentativa)



Exercício 12.3

Campo Minado é um jogo que se tornou muito popular por acompanhar o sistema operacional Microsoft Windows.

Nesse jogo, o campo minado pode ser representado por uma matriz retangular. O jogador deve revelar todas as posições livres (sem bomba) da matriz, clicando em uma posição com conteúdo desconhecido. O jogo acaba quando o jogador clicar em uma posição com bomba, ou quando todas as posições livres forem abertas.

Nesse exercício, você deve implementar algumas funções que podem ser utilizadas na implementação desse jogo.

Parte A

Escreva uma função que recebe como parâmetros uma matriz inteira A e uma posição (lin, col) da matriz, e conta quantas posições ao redor da posição (lin, col) contém o valor -1 (valor adotado para representar uma bomba)

Uso de constantes

O uso de constantes é uma boa prática de programação. No caso do campo minado, ao invés de utilizar o valor -1, podemos criar uma constante (variável que nunca muda de valor após criada) chamada BOMBA com o valor -1.

(campo_minado_1)



Parte B

Escreva um programa que lê uma matriz A de 0’s (posições livres) e -1’s (bomba). Utilizando a função do item anterior, o programa deve computar e imprimir a quantidade de bombas ao redor de cada posição livre da matriz.

(campo_minado_2)



Table Of Contents

Previous topic

Matrizes

Next topic

Strings e arquivos