Baixe o app para aproveitar ainda mais
Prévia do material em texto
Escola de Ciências e Tecnologia ECT1203 – Linguagem de Programação Lista 4 – Professor Éverton Santi Sugestão: siga as questões na ordem em que estão para facilitar seu aprendizado PARTE 1 - VETORES Questão 1 Crie um programa em linguagem C/C++ que receba como entrada 𝑛 valores reais e os insira em um vetor. Após a leitura dos elementos, exiba o conteúdo do vetor na ordem em que foram informados os valores e em ordem inversa (de trás para frente). Questão 2 Crie um programa em linguagem C/C++ que receba do usuário 𝑛 números inteiros, inserindo-os em um vetor. Após a leitura dos valores, seu programa deverá informar qual o maior valor contido neste vetor. Questão 3 Crie um programa em linguagem C/C++ que receba do usuário 𝑛 números inteiros, inserindo-os em um vetor. Após a leitura dos valores, seu programa deverá informar em que posição deste vetor está localizado o menor valor. Questão 4 Crie um programa em linguagem C/C++ que receba do usuário um conjunto de 𝑛 caracteres, inserindo-os em um vetor. Após a leitura, seu programa deverá embaralhar o conteúdo deste vetor. Por fim, mostre como ficou este vetor. Questão 5 Crie um programa em linguagem C/C++ que receba do usuário dois vetores 𝑢 e 𝑣, cada um com 𝑛 números reais. Seu programa deverá informar qual o produto escalar entre estes dois vetores. O produto escalar é definido como: 𝑢 ⋅ 𝑣 = 𝑢1 ∗ 𝑣1 + 𝑢2 ∗ 𝑣2 +⋯+ 𝑢𝑛 ∗ 𝑣𝑛 Isto é, 𝑢 ⋅ 𝑣 = 𝑢𝑖 ∗ 𝑣𝑖 𝑛 𝑖=1 Questão 5 Crie um programa em linguagem C/C++ que leia do teclado um conjunto de 𝑛 valores, inserindo-os em um vetor. Em seguida, seu programa deverá informar se o conteúdo deste vetor lido do início para o fim é idêntico ao conteúdo lido do fim para o início. Exemplo: Valor 1 2 3 2 1 Pos 0 1 2 3 4 Questão 7 Crie um programa em linguagem C/C++ que leia um conjunto de 𝑛 valores inteiros, inserindo-os em um vetor. Para o vetor informado, imprima seus elementos sem que números repetidos sejam mostrados. PARTE 2 - MATRIZES Questão 1 Crie um programa em linguagem C/C++ que solicite ao usuário os valores (inteiros) a serem inseridos em uma matriz com dimensão 𝑚 × 𝑛. Para a matriz informada, imprima na tela todos os seus elementos. Questão 2 Crie um programa em Linguagem C/C++ que receba do usuário uma matriz de números reais com dimensão 𝑚 × 𝑛. Para a matriz informada, mostre a soma de todos os seus elementos. Questão 3 O traço de uma matriz é igual à soma de todos os elementos de sua diagonal principal. Isto é, dada uma matriz 𝐴𝑚×𝑚 de números reais, seu traço é definido como: tr 𝐴𝑚×𝑚 = 𝑎𝑖𝑖 𝑚 𝑖=1 Questão 4 Crie um programa em linguagem C/C++ que receba como entrada um uma matriz de números reais com dimensão 𝑚 × 𝑚. Para a matriz lida, informe a soma dos elementos de sua diagonal secundária. Questão 5 Crie um programa que receba como entrada uma matriz com dimensão 𝑚 × 𝑛. Para a matriz lida, informe a soma dos elementos de cada uma de suas linhas separadamente. Questão 6 Crie um programa que receba do usuário uma matriz de dimensão 𝑚 × 𝑛. Para a matriz lida, informe a soma dos elementos de cada uma de suas colunas separadamente. Questão 7 Uma matriz qualquer é dita Matriz de Permutação se atender simultaneamente às seguintes condições: Se só contiver zeros e uns; Se a soma dos elementos de cada uma de suas linhas, individualmente, for igual a um; A soma dos elementos de cada uma de suas colunas, individualmente, for igual a um; Crie um programa em linguagem C/C++ que receba do usuário uma matriz com dimensão 𝑚 ×𝑚 e informe se esta matriz é uma Matriz de Permutação. Questão 8 Crie um programa que receba o usuário uma matriz qualquer e mostre a sua transposta. Questão 9 Faça um programa que leia duas matrizes com dimensão 𝑁 × 𝑁 e calcule o resultado de sua multiplicação. PARTE 3 – DESAFIE-SE Questão 1 Dadas duas seqüências com 𝑛 (𝑛 <= 100) números inteiros entre 0 e 9, interpretadas como dois números inteiros de 𝑛 algarismos, calcular a seqüência de números que representa a soma dos dois inteiros. Exemplo: 𝑛 = 8 1ª seqüência 8 2 4 3 4 2 5 1 2ª seqüência + 3 3 7 5 2 3 3 7 resultado = 1 1 6 1 8 6 5 8 8 Questão 2 Faça um programa para imprimir as 𝑛 (𝑛 <= 100) primeiras linhas do triângulo de Pascal usando apenas um vetor, com o valor de 𝑛 fornecido pelo usuário. Considere cada posição do triângulo como um ponto com coordenadas (𝑖, 𝑗). Para cada ponto (𝑖, 𝑗) do triângulo, o valor mostrado corresponde ao valor do binômio 𝑖𝑗 = 𝑖! 𝑖−𝑗 !𝑗 ! Triângulo de Pascal para n = 6: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Neste caso, veja com é calculado o valor do elemento para 𝑖 = 5 e 𝑗 = 2: 𝑖 𝑗 = 𝑖! 𝑖 − 𝑗 ! 𝑗! = 5! 5− 2 ! 2! = 120 3! 2! = 120 12 = 10 Importante: Você deverá calcular o triângulo de pascal sem utilizar a expressão do binômio . Questão 3 Faça um programa que leia o gabarito de uma prova com 𝑛 questões e a grade de respostas de 𝑚 alunos. Ao final, seu programa deverá informar quantos alunos acertaram mais de 70% da prova e quantos alunos acertaram menos de 35% da prova. Questão 4 Faça um programa que inicialize aleatoriamente uma matriz de dimensão 𝑀 × 𝑁 com números inteiros entre 0 e 9. Para isto utilize a função rand() da linguagem C++ (biblioteca cstdlib). Ao final, seu programa deverá informar quantos dos números da matriz são menores que 5, quantos números são maiores que 8 e quantas vezes o número 2 apareceu na matriz. Questão 5 Faça um programa em linguagem C++ que leia uma matriz 𝐴 = 𝑎𝑖𝑗 𝑚×𝑛 e calcule o valor de sua norma de Frobenius, a qual é dada pela definição a seguir: 𝐴 2 = |𝑎𝑖𝑗 | 2 𝑛 𝑗=1 𝑚 𝑖=1 1 2 Utilize as funções da biblioteca cmath: abs(valor) – valor absoluto pow(valor, expoente) – potência sqrt(valor) – raiz quadrada Questão 6 O ponto de Sela de uma matriz é aquele elemento que é ao mesmo tempo o maior elemento de sua linha e o menor elemento de sua própria coluna. Faça um programa que, dada uma matriz 𝑀 × 𝑁 informe se esta tem ou não um ponto de sela, bem como seu valor, sua respectiva linha e coluna. Veja o exemplo abaixo: Neste caso, o número 3, situado na linha 0 e coluna 2, é o ponto de sela da matriz A. 𝐴 = 1 2 3 1 3 4 3 2 6 Questão 7 Crie um programa que gera aleatoriamente valores para um vetor de tamanho 𝑛, sendo 𝑛 informado pelo usuário. Em seguida, gere um vetor cópia deste primeiro (com o mesmo tamanho e elementos). Você deverá ordenar os dois vetores, sendo que o primeiro deles deverá ser ordenado por meio do método bolha. O segundo deverá ser ordenado por meio da função “sort” já pronta na linguagem C++. Informe ao final quantos segundos cada método levou para completar a ordenação. Pesquise sobre tais métodos de ordenação. Sugestão: teste seu código para valores de 𝑛 consideravelmente grandes.
Compartilhar