Universidade Federal do Amazonas Instituto de Ciências Exatas Departamento de Ciência da Computação
Laboratório de Programação A - 2011.1 Exercícios sobre vetores e matrizes
Observação Esta lista será cobrada e valerá como a primeira nota parcial. Apenas os exercícios que não forem feitos em sala de aula serão cobrados. Questões
1) Fazer um programa que recebe um símbolo de operação do utilizador (+, -, / ou *) e dois números reais. O programa deve retornar o resultado da operação recebida sobre estes dois números. 2) Fazer um programa para receber um número inteiro de segundos e imprimir a quantidade correspondente em horas, minutos e segundos. 3) Faça um programa que leia um vetor de 10 elementos e em seguida ache a posição do elemento m (dado pelo usuário) no vetor. Caso o elemento não exista no vetor informe ao usuário. 4) Faça um programa que calcule a soma dos vetores, elemento a elemento, em um terceiro vetor. O tamanho do vetor deverá ser 4. 5) Faça um programa que leia um vetor com 20 elementos. A seguir, troque o primeiro elemento com o último, o segundo com o penúltimo, etc, até o décimo com o décimo primeiro.
6) Faça um programa que, dados dois vetores de 4 elementos, calcule o seu produto escalar. (O produto escalar de dois vetores v1 e v2 é dado por: produto = v1[0]*v2[0]+ v1[1]*v2[1]+... +v1[n]*v2[n]).
7) Faça um programa que leia 2 vetores com 10 elementos cada. Considerando cada vetor como sendo um conjunto, crie um terceiro vetor, que seja a união dos dois primeiros, e um quarto, que seja a intersecção entre os dois primeiros.
8) Dado um vetor com números ordenados de forma não decrescente, faça uma função que imprime somente os números que não sejam repetidos.
9) Faça uma função que recebe dois vetores de inteiros, com qualquer número de elementos cada. Ela deve imprimir todos os valores presentes nos dois vetores. Ex: se v1={19, 5, 2, 6} e v2={5, 0, 9, 4, 18, 56} deverá ser impresso somente o valor 5. 10) Faça um programa que dado o vetor unidimensional [2; 4; 35; 50; 23; 17; 9; 12; 27; 5] retorne: a. maior valor b. média dos valores c. os valores dispostos em ordem crescente d. sub conjunto de valores primos que está contido no vetor 11) Faça um programa que: a. leia 7 valores inteiros e os armazene em um vetor. Listar o vetor com as referidas posições de armazenamento de cada valor. b. ofereça uma função de pesquisa onde dado um valor inteiro qualquer de entrada retornar a posição deste valor dentro do vetor, e caso este valor não esteja presente no vetor retornar –1. c. ofereça uma função que troque os valores contido no vetor pela seguinte política: cada elemento i dentro do vetor será substituído pela soma de todos os (i-1) elementos mais o elemento i. Por exemplo, dado um vetor [1; 2; 3; 4; 5] após a aplicação da função teríamos esse vetor preenchido com os seguintes valores [1; 3; 6; 10; 15]. Para esta tarefa utilize um vetor auxiliar. 12) Escrever um programa para ler um vetor de 25 elementos do tipo inteiro e que, após os valores serem lidos, verifique se existem números repetidos dentro do vetor. Caso
exista, deverão ser informados quais são estes números e quantas vezes eles foram repetidos. 13) Dado um vetor com 40 elementos numéricos do tipo inteiro, faça um programa que coloque esses valores em ordem numérica ascendente.
14) Escreva um programa em C para ler um vetor de 10 elementos inteiros. Excluir o 1 o elemento do vetor deslocando os elementos subseqüentes de uma posição para o inicio. Imprimir o vetor após a retirada do primeiro elemento.
15) Escreva um programa em C para ler um vetor X de 10 elementos e um valor P (aceitar apenas valores entre 0 e 9) que representa a posição de um elemento dentro do vetor X. Imprimir o valor do elemento que ocupa a posição informada. Logo após excluir esse elemento do vetor fazendo com que os elementos subseqüentes (se houverem) sejam deslocados de 1 posição para o inicio. Imprimir o vetor X após a exclusão ter sido executada.
16) Implemente funções que façam o mesmo que as funções do C: a. strlen( ) - retorna o tamanho da string b. strcmp( ) - diz se as duas strings são iguais ou não c. strcnpy( ) - copia os n primeiros caracteres para a string destino d. strcat( ) - concatena duas strings e. strfind( ) - procura todas as ocorrência de uma string dentro de outra. Deve informar todas as posições iniciais onde ela encontrou.
17)
Fazer a inversão de uma string (ordem de elementos). Ex: “abc” -> “cba”
18) Supondo que uma string contem o nome de um arquivo qualquer de imagem no formato gif. Faça uma função para alterar a substring “gif” por “bmp”. Neste caso deve-se localizar a posição do ponto e substituir desta posição em diante. Ex: foto1.gif -> foto1.bmp
19) Faça um programa que receba uma lista com nomes de alunos, as notas de cada aluno e a nota mínima para aprovação na disciplina. O aluno é considerado aprovado se a média de suas notas forma maior ou igual a nota mínima para aprovação. O programa deve informar uma lista de alunos aprovados e outra de alunos reprovados.
20) Escreva um programa em C para ler 3 palavras. A seguir imprimir as 3 palavras em ordem alfabética.
21) Escreva um programa em C para ler uma palavra. A seguir copie para outra variável a palavra informada na ordem inversa. Imprimir a palavra copiada. Exemplo: Se a palavra informada for: BRASIL, a palavra copiada para a outra variável será LISARB.
22) Escreva um programa em C para ler uma frase e contar o número de ocorrências de cada uma das 5 primeiras letras do alfabeto. Imprimir as contagens.
23) Escreva um programa em C para ler uma frase e uma letra. A seguir retirar da frase, todas as letras iguais a informada. Imprimir a frase modificada.
24) Escreva um programa em C para ler uma frase e contar o número de palavras existentes na frase. Considere palavra um conjunto qualquer de caracteres separados por um conjunto qualquer de espaços em branco.
25) Faça um programa que Leia duas matrizes de dimensões 3 X 3 e em seguida calcule seu produto.
26) Faça um programa que leia uma matriz inteira de dimensões n X m (também fornecidas pelo usuário) e identifique que elementos se repetem nesta matriz e quantas vezes cada um se repete.
27) Escreva um programa que leia uma matriz de números reais de 4 linhas e 4 colunas. Em seguida o programa deve mostrar: a. Os elementos da diagonal principal (todos em uma única linha); b. Os elementos da matriz triangular inferior (na próxima linha); c. Os elementos da matriz triangular superior (em outra linha). 28) Faça um programa que carregue uma matriz 4 x 3 com números inteiros e some cada uma das colunas, armazenando os resultados das somas em um vetor. O programa deve mostrar o vetor contendo as somas. 29) Fazer troca de linhas de uma matriz de NxM. Inicialmente, atribuir aos elementos da matriz o valor da linha + coluna.
30) Dada uma matriz Amxn, imprimir o número de linhas e o número de colunas nulas da matriz. Uma linha ou coluna é nula quando todos seus elementos forem iguais a zero.
31) Dizemos que uma matriz quadrada inteira é um quadrado mágico (1) se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. Exemplo: A matriz
é um quadrado mágico. Dada uma matriz quadrada Anxn , verificar se A é um quadrado mágico. 32) Leia uma matriz 20 x 20. Leia também um valor X. O programa deverá fazer uma busca desse valor na matriz e, ao final escrever a localização (linha e coluna) ou uma mensagem de “não encontrado”. 33) Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior valor. 34) Leia uma matriz 4 x 4 e troque os valores da 1ª.linha pelos da 4ª.coluna, vice-e-versa. Escrever ao final a matriz obtida 35) Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo zero a todos os elementos acima da diagonal principal, escrevendo-a ao final. 36) Leia duas matrizes 20 x 20 e escreva os valores da primeira que ocorrem em qualquer posição da segunda.