SME 230 - Introdução à Programação de Computadores Lista 4 A

Propaganda
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.
Download