Baixe o app para aproveitar ainda mais
Prévia do material em texto
ECT1203 Linguagem de Programação 2014.2 Profa. Caroline Rocha Aula 25 – Funções e Matrizes Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia Hora de silenciar o celular • Manter o celular sempre desligado/silencioso quando estiver em sala de aula • Nunca atender o celular em sala de aula Objetivo da Aula • Mostrar passagem de matrizes como parâmetros de funções • Resolver exercícios Passando matrizes de duas dimensões • Não importa quantas dimensões uma matriz tenha, a passagem do endereço é feita de forma idêntica ao caso unidimensional • A declaração da matriz no cabeçalho da função é feita da seguinte forma: tipo nome[][número de colunas] void funcao(int matriz[][4]) Passando matrizes de duas dimensões • O tamanho da segunda dimensão deve sempre ser informado para que a função possa determinar o endereço dos elementos da matriz. • Ao tentarmos acessar o elemento A[1][2], a função determinante() sabe que o seu endereço é A+1*4+2 int determinante(int A[][4]) Observação: Como não há verificação de limites, é importante fornecer o número de linhas da matriz para que a função não acesse posições inválidas. Exercício (a) Faça uma função MAX que recebe como entrada um inteiro n, uma matriz inteira Anxn e devolve três inteiros: k, Lin e Col. O inteiro k é o maior elemento de A e é igual a A[Lin,Col]. Exemplo: Se o elemento máximo ocorrer mais de uma vez, indique em Lin e Col qualquer uma das possíveis posições. (b) Faça um programa que, dado um inteiro n e uma matriz quadrada de ordem n<=20, cujos elementos são todos inteiros positivos, 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 a função da parte (a).
Compartilhar