7a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014 Parte A - Exercícios de Fixação de Aprendizagem 1. Faça uma função genérica para ler do teclado uma matriz. Sua função deve receber como parâmetros dois números inteiros (que indicam o tamanho da matriz) e uma matriz (array bidimensional para armazenar os dados lidos). A função deve ser utilizada nos programas seguintes. 2. Faça uma função genérica para mostrar na tela uma matriz. Sua função deve receber como parâmetros dois números inteiros (que indicam o tamanho da matriz) e uma matriz (array bidimensional onde os dados estão armazenados). A função deve ser utilizado nos programas seguintes. 3. Faça um programa que leia uma matriz e que contenha e use uma função para mostrar na tela a matriz de forma transposta, ou seja, imprimir a matriz com linhas e colunas invertidas. Exemplo: Entrada 1 2 3 4 5 6 7 8 9 Saída 1 4 7 2 5 8 3 6 9 4. Faça um programa que leia uma matriz de números inteiros e que contenha e use uma função para mostrar na tela a matriz da seguinte forma: se o número for par então mostre-o na tela, senão mostre um asterísco (*) no lugar daquele número. 5. Faça um programa que leia uma matriz de números inteiros. Em seguida, seu programa deve utilizar uma função para buscar o menor número da matriz e então retornar para o programa principal. Em seguida deve mostrar o menor número na tela. 6. Faça um programa que leia uma matriz de números inteiros e mostre-a na tela. Em seguida, seu programa deve utilizar uma função para alterar os dados da matriz da seguinte forma: se o dado for um número positivo transforme-o em negativo, caso contrário transforme-o em positivo. Ao final, seu programa deve imprimir a matriz alterada. 7. Faça um programa que leia uma matriz de números inteiros e mostre-a na tela. Em seguida, seu programa deve utilizar uma função para imprimir somente uma determinada coluna, informada pelo usuário (ou seja, sua função receberá como parâmetros uma matriz, dois inteiros para saber o tamanho da matriz e um inteiro que indica qual a coluna deve ser impressa). No programa principal faça um menu, no qual o usuário pode escolher ler uma matriz; mostrar a matriz na tela; mostrar somente uma coluna da matriz; ou sair do programa. 8. Faça um programa que que leia uma matriz de números inteiros e mostre-os na tela. Em seguida, seu programa deve utilizar uma função para buscar um número X na matriz. Sua função deve retornar 0 caso o número não seja encontrado, ou a quantidade de vezes que o número foi encontrado na matriz. No programa principal uma mensagem deve ser exibida na tela informando se o número foi encontrado e quantas vezes (caso necessário). Assim como o exercício 7, utilize um menu no programa principal para controlar as opções (ler, mostrar, buscar e sair). 9. Faça um programa que após ler uma matriz de números de quaisquer tipos faça as seguintes operações e mostre o resultado na tela: 1) a soma de cada linha; 2) a soma de cada coluna; 3) soma da diagonal principal; 4) soma da diagonal secundária; e 5) soma de todos os dados da matriz. 10. Faça um programa que leia duas matrizes 3 x 3. Em seguida, seu programa deve utilizar uma função que recebe como parâmetros as duas matrizes e retorna uma terceira matriz, que é a soma das duas matrizes. No final, seu programa deve mostrar na tela a matriz gerada. Parte B – Exercícios de Prática 1. Faça um programa que contenha e use uma função que receba uma matriz de ordem N x N, faça as operações seguintes, alterando a matriz original. No final, seu programa deve mostrar na tela a matriz alterada. a. A linha 2 com a linha 8; b. A coluna 4 com a coluna 10; c. A diagonal principal com a secundária; d. A linha 5 com a coluna 10; 2. Faça um programa que contenha e use uma função que receba uma matriz de ordem N x N e retorna a média aritmética dos elementos abaixo da diagonal principal. 3. Faça um programa que contenha e use uma função que receba uma matriz de ordem N x N e retorna a soma dos elementos acima da diagonal principal. 4. Faça um programa que leia e imprima uma matriz na tela. Em seguida, seu programa deve utilizar uma função que busca e retorna o valor min_max da matriz (ou seja, o menor valor da linha que contém o maior valor da matriz). Ao final seu programa deve mostrar este número na tela. 5. Faça um programa que, primeiramente, leia uma matriz de tamanho N x M (com N e M > 0). Em seguida, seu programa deve utilizar uma função para buscar um valor na matriz: caso encontre o valor, a função deve retornar sua posição na matriz (linha e coluna); caso contrário, a função deve retornar -1 pra linha e coluna. Obs: 1) para auxiliar o exercício crie um tipo chamado coordenadas que possui dois inteiros X e Y; 2) utilize um menu para controlar as ações. 6. Faça um programa para ler e analisar gabaritos. Seu programa deve conter um menu com as seguintes opções: 1. Ler Gabarito Original 2. Ler e Verificar Gabarito 3. Sair A opção 2, consiste em uma função que recebe como parâmatros um gabarito (uma matriz G') e dois inteiros (N e M que indicam o tamanho da matriz). Esta função deve comparar os dois gabaritos e retornar a taxa de acerto de G' em G. No programa principal, mostrar na tela a seguinte mensagem: "Este aluno acertou X% do exame". 7. Faça um programa que receba as vendas semanais (de um mês) de N vendedores de uma loja e armazene essas quantidades de vendas em uma matriz (ou seja, um array de N funcionários x 4 semanas). Seu programa deve calcular e mostrar na tela: a) total de vendas do mês de cada vendedor; b) total de vendas de cada semana (todos os vendedores juntos); c) total de vendas do mês. Assim como nos programas anteriores, crie um menu para controlar a escolha das opções: ler matriz, mostrar matriz, as opções de total e uma opção de sair. Obs: crie funções para cada uma das operações. 8. Crie um programa que contenha e use uma função capaz de substituir todos os números negativos de uma matriz por seu módulo. Solicite os dados ao usuário no programa principal e então chame a função para fazer e mostrar o resultado da operação. 9. Crie um programa que contenha e use uma função capaz de multiplicar uma linha de uma matriz por um dado número. Faça o mesmo para uma coluna. Solicite os dados ao usuário no programa principal e então chame a função para fazer e mostrar o resultado da operação (esta, solicitada e recebida do usuário - ou linha ou coluna). 10. Bônus: TV da Vovó (disponível em PDF no site).