Buscar

Lista5

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.

Continue navegando