SME 230 - Introdução à Programação de Computadores Prof.LuisGustavo Nonato -1º Semestrede 2008 Lista 4 1. Escreva uma função em C que receba como entrada uma matriz quadrada n x n e verifique se esta matriz é simétrica, ou seja, At = A. Caso afirmativo devolva true, caso contrário false. Teste para algumas matrizes 2x2, 3x3 e 5x5. 2. Implemente uma função em C para cada operação a seguir: a) Soma de dois vetores; b) Produto vetorial; c) Produto escalar; Obs.: As funções não devem alterar o conteúdo dos parâmetros fornecidos; Todos os vetores estão em um espaço a ser definido por uma constante. O resultado de cada operação deve ser retornado pela função. 3. Faça uma função em C que receba como entrada uma matriz n x n e prencha cada elemento da matriz a ij o valor i+j, onde i é a linha e j é a coluna. Depois faça outra função que imprime os valores da matriz. Verifique se o resultado foi o esperado. 4. Número primo é um número natural maior que 1 cujos únicos divisores naturais são 1 e o próprio número. Como uma forma eficiente podemos dizer que um número é primo se ele não for divisível por todos os números primos menores que a raiz deste número. Implemente um programa em C que calcule, armazene e mostre os 100 primeiros números primos de forma eficiente. 5. Faça um programa em C que calcule o custo de um itinerário formado por várias cidades. O custo de transporte entre as cidades é fornecida por uma matriz, onde o elemento aij representa o custo de transporte entre a cidade i e a cidade j. Por exemplo, [ ] 0 1 A= 5 3 1 0 8 1 5 8 0 4 3 1 4 0 O itinerário é fornecido da seguinte forma: ncidades cidade1 cidade2 ... cidadeN Onde ncidades é número de cidades do itinerário. A saída do programa deverá ser o custo total para percorrer itinerário fornecido. 6. Faça um programa que encontre o número de ocorrencias de uma subsequencia genética em uma amostra. A amostra é fornecida em um vetor de n elementos contendo os caracacteres ACTG. A subsequencia é fornecida da mesma maneira, porém, seu tamanho é menor que n. 7. Implemente usando C um programa que mostre um triângulo de C de grau n, usando apenas um vetor. Dica: O quarto elemento da quinta linha corresponde a soma do quarto e do terceiro elemento da linha anterior. 8. Dado um vetor de n números inteiros (podendo haver repetições), faça um programa em C que imprima quantas vezes aparece cada número inteiro. 9. Escrever um programa em C que contenha um menu com as seguintes opções para diferentes funções que manipulam um vetor: ● ● ● ● ● ● ● Opção 1: leitura de um vetor v com 7 números inteiros; Opção 2: mostrar os elementos pares de v. Opção 3: mostrar os índices de v que contém os elementos pares; Opção 4: mostrar a soma dos elementos de v; Opção 5: mostrar o maior e o menor elemento de v; Opção 6: inverter a ordem dos elementos de v, sem utilizar um vetor auxiliar; Opção 0: sair. 10. Declare um vetor de inteiros de tamanho constante N: a) Faça uma função que atribui um valor aleatório para cada elemento deste vetor. Depois imprima o vetor. b) Faça uma função que recebe como entrada o vetor aleatorio do item a) e um indice i inteiro. Na função queremos que ele encontre o maior valor do vetor e troque com o elemento de indice i. Use uma variavel auxiliar para fazer a troca. Imprima o vetor para ver se ocorreu a troca c) Faça uma função que repita a função b) n vezes, onde a entrada i varia de 1 até N. Depois imprima o vetor e verifique que esta ordenado.