Universidade Federal do Pampa/UNIPAMPA – Campus Bagé Disciplina de Algoritmos e Programação Exercícios Vetores e Matrizes 1. Fazer um programa que: a) Leia duas variáveis compostas unidimensionais (vetores), contendo, cada uma, 10 elementos numéricos (do tipo real); b) Intercale os elementos destes dois conjuntos formando uma nova variável composta unidimensional de 20 elementos; c) Escreva os dois conjuntos lidos e o conjunto obtido a partir da intercalação. 2. Escrever um programa que preencha um vetor de 20 posições com valores aleatórios do tipo float: para isto utilize a função que inicializa a semente da função geradora de números aleatórios – srand {srand(time(NULL))}; (utilize este código somente uma vez, no início do programa) e a própria função que gera números aleatórios – rand:{x = (float) rand();} (neste exemplo, a variável x recebe um número aleatório do tipo float). Após, o programa deve preencher um segundo vetor com os valores contidos no primeiro vetor, só que de maneira inversa. Em seguida, o programa deve imprimir o vetor de números aleatórios e o vetor com os estes valores na ordem inversa. 3. Fazer um programa que: a) Leia 10 valores numéricos (reais) e os armazene num vetor A b) Calcule e escreva 10 1 S= ∑ , onde ai é o i-ésimo valor armazenado na variável A i= 1 a i c) Calcule e escreva quanto termos da série têm o numerador inferior ao denominador. 4. Faça um programa que leia um conjunto de 15 valores e armazene-os em um vetor. A seguir, separe-os em dois outros vetores (P e I) com cinco posições cada. O vetor P armazena números pares e o vetor I armazena números ímpares. Como o tamanho dos vetores pode não ser suficiente para armazenar todos os números, deve-se sempre verificar se os mesmos já estão cheios. Caso P ou I estejam cheios, deve-se mostrá-los e recomeçar o preenchimento a partir da primeira posição. Terminado o processamento, mostrar o conteúdo restante dentro dos vetores P e I. 5. Fazer um programa para corrigir provas de múltipla escolha, onde cada questão da prova tem cinco alternativas (A-E). Cada prova tem cinco (5) questões, cada questão com o valor de dois (2) pontos. O primeiro conjunto de dados a ser lido será o gabarito para a correção da prova. Os outros dados serão os números dos alunos e suas respectivas respostas, e o último número, do aluno fictício, será 9999. O programa deverá calcular e imprimir: a) para cada aluno, o seu número e sua nota; b) a percentagem de aprovação, sabendo-se que a nota mínima de aprovação é 6; Universidade Federal do Pampa/UNIPAMPA – Campus Bagé Disciplina de Algoritmos e Programação Exercícios c) a nota que teve maior frequência absoluta, ou seja, a nota que apareceu em maior número (supondo a inexistência de empates). 6. Faça um programa que carregue uma matriz 2 x 2, calcule e mostre uma matriz resultante que será a matriz digitada multiplicada pelo maior elemento da matriz. 7. Na teoria dos sistemas define-se o elemento MINMAX de uma matriz como sendo o maior elemento da linha onde se encontra o menor elemento da matriz. Faça um programa que carregue uma matriz 4 x 7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna). 8. Fazer um programa que receba uma matriz 5 x 5 e calcule e mostre a matriz lida e a soma dos elementos da diagonal principal desta matriz. 9. Escreva um programa que recebe, do teclado, uma matriz de dimensões 6 x 6 (6 linhas e 6 colunas) de números inteiros. Após, o algoritmo deve calcular e escrever. a) A matriz completa; b) O somatório dos elementos de cada coluna; c) A média dos elementos da 3ª linha. 10. Escrever um programa que leia os dados de notas (nome do aluno e nota) de uma turma de 10 alunos. Calcular e mostrar a média da turma. Determinar o número de alunos que tiveram nota superior a média da turma e imprimir o nome dos alunos que tiveram este feito. 11. Dado um conjunto de 10 valores numéricos disponíveis na entrada, fazer um programa para armazená-los em um vetor e calcular e imprimir o valor do somatório dado por: S =(v 1−v 10)3 +( v 2−v 9)3 +…+(v 5−v 6 )3 12. Escrever um programa para ler um valor n e a seguir ler uma matriz n×n. Então, determinar e escrever a soma de todos os elementos acima da diagonal principal. Sendo i e j os índices dos elementos de uma matriz n×n (iniciando do índice zero (0)): • Diagonal principal: i == j • Diagonal secundária: (i+j) == (n-1) • Abaixo da diagonal principal : i > j • Acima da diagonal principal: i < j • Acima da diagonal secundária: (i+j) < (n-1) • Abaixo da diagonal secundária: (i+j) > (n-1) 13. Escrever um programa para ler uma matriz a de tamanho n×m e outra matriz b de tamanho m×p. Então, determinar e imprimir a matriz produto c de tamanho m−1 n×p. Sabe-se que cada elemento da matriz produto é dado por c ij = ∑ a ik b kj . k= 0