Buscar

Exercícios de Vetores em C++

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BAC004 – Informática – Teórica T2 
Professora: Fabiana Costa Guedes 
Lista 05 – Vetores e Matrizes 
 
Vetores 
1- Faça um programa que preencha um vetor com seis elementos numéricos inteiros, calcule e 
mostre: 
a. todos os números pares; 
b. a quantidade de números pares; 
c. todos os números ímpares; 
d. a quantidade de números ímpares. 
2- Faça um programa que receba um vetor com sete números inteiros, calcule e mostre: 
a. Os números múltiplos de 2; 
b. Os números múltiplos de 3; 
c. Os números múltiplos de 2 e de 3 ao mesmo tempo. 
3- Faça um programa para controlar o estoque de mercadorias de uma empresa. Inicialmente, o 
programa deverá preencher dois vetores com dez posições cada, onde o primeiro 
corresponde ao código do produto e o segundo ao total desse produto em estoque. Logo 
após, o programa deverá ler um conjunto indeterminado de dados contendo o código de um 
cliente e o código do produto que ele deseja comprar, juntamente com a quantidade. O 
código do cliente igual a zero indica fim do programa. O programa deverá verificar: 
a. Se o código do produto solicitado existe. Se existir, tentar atender ao pedido; caso 
contrário, exibir mensagem “Código inexistente”; 
b. Cada pedido feito por um cliente só pode ser atendido integralmente. Caso isso não 
seja possível, escrever a mensagem “Não temos estoque suficiente desta 
mercadoria”. Se puder atendê-lo, escrever a mensagem “Pedido atendido. Obrigado e 
Volte sempre”. 
c. Efetuar a atualização de estoque somente se o pedido for atendido integralmente; 
d. No final do algoritmo, escrever os códigos dos produtos com seus respectivos 
estoques atualizados. 
4- Faça um programa que preencha um vetor com 15 elementos inteiros e verifique a existência 
de elementos iguais a 30, mostrando as posições em que aparecem. 
5- Faça um programa que leia dois vetores de dez posições e faça a multiplicação dos 
elementos de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor 
resultante. 
6- Faça um programa que leia um vetor com trinta posições para números inteiros. Crie um 
segundo vetor, substituindo os valores nulos por 1. Mostre os dois vetores. 
7- Faça um programa que leia um vetor A de dez posições. Em seguida, compacte o vetor, 
retirando os valores nulos e negativos. Armazene esse resultado no vetor B. Mostre o vetor 
B. (Lembre-se: o vetor B pode não ser completamente preenchido.). 
8- Faça um programa que leia dois vetores (A e B) com cinco posições para números inteiros. 
O programa deve, então, subtrair o primeiro elemento de A do último de B, acumulando o 
valor, subtrair o segundo elemento de A do penúltimo de B, acumulando o valor, e assim 
por diante. Ao final, mostre o resultado de todas as subtrações realizadas. 
9- Faça um programa que receba o nome de oito clientes e armazene-os em um vetor. Em um 
segundo vetor, armazene a quantidade de DVDs locados em 2006 por cada um dos oito 
 
 
clientes. Sabe-se que, para cada dez locações, o cliente tem direito a uma locação grátis. 
Faça um programa que mostre o nome de todos os clientes, com a quantidade de locações 
grátis a que eles tem direito. 
10- Elabore um programa que inicialize 2 vetores de 10 elementos cada com valores inseridos 
pelo usuário, compute e mostre os vetores resultantes contendo 
a. A interseção dos elementos dos dois vetores 
b. A união dos elementos dos dois vetores 
c. A diferença do primeiro vetor pelo segundo 
Obs.: Os elementos dos vetores resultantes não podem ser repetidos. 
11- Seja o seguinte programa em C++: 
#include <iostream> 
using namespace std; 
 
int main() 
{ 
 int v1[10], v2[10], v3[10]; 
 cout << "Digite 10 valores para o primeiro vetor:" << endl; 
 for (int i = 0; i < 10; ++i) cin >> v1[i]; 
 
 cout << "Digite 10 valores para o segundo vetor:" << endl; 
 for (int i = 0; i < 10; ++i) cin >> v2[i]; 
 
 for (int i = 0; i < 10; ++i) 
 { 
 if ( v1[i] > v2[i] ) v3[i] = v1[i]; 
 else v3[i] = v2[i]; 
 } 
 
 cout << "Valores do terceiro vetor:" << endl; 
 for (int i = 0; i < 10; ++i) cout << v3[i] << endl; 
} 
a. Quais valores seriam impressos para o terceiro vetor, caso os valores de entrada para 
os vetores 1 e 2 fossem respectivamente { 7, 3, 12, -6, 19, 11, 6, 4, 0, 21 } e { 12, -
16, 14, 3, 8, 11, 51, -1, 20, 2 }? 
b. Descreva a funcionalidade do programa acima. 
12- Faça um programa em C++ que inicialize um vetor de 10 posições com valores inseridos 
pelo usuário no intervalo [0, 9] (seu programa deverá validar os dados digitados pelo 
usuário), calcule e mostre 
a. O maior elemento do vetor. 
b. Um vetor resultante dividindo-se os elementos do vetor preenchido pelo usuário pelo 
maior elemento do vetor. 
13- Faça um programa onde o usuário digite uma quantidade de valores N que serão 
armazenados em um vetor (N deve ser definido pelo usuário). Seu programa deve então 
inverter a ordem destes valores no vetor e depois imprimi-lo na ordem inversa. Por exemplo, 
suponha que o usuário tenha definido N=5 e digitado os valores { 2, 5, 7, 1, 4 } para 
preencher o vetor, ou seja, vetor[0] = 2, vetor[1] = 5, vetor[2] = 7, vetor[3] = 1 e vetor[4] = 
4. Seu programa deve inverter os valores de modo a obter o vetor[0] = 4, vetor[1] = 1, 
vetor[2] = 7, vetor[3] = 5 e vetor[4] = 2, e mostrar o vetor invertido. 
 
 
14- Elabore um programa em C++ que peça ao usuário para inserir a temperatura dos últimos N 
dias (N deve ser definido pelo usuário) e calcule a temperatura média e o desvio padrão da 
média considerando as informações inseridas pelo usuário. 
Obs.: Supondo que a média de um conjunto de N valores seja m, o desvio padrão é dado 
pela expressão abaixo (onde vi é o valor de temperatura no dia i) 
 
15- Faça um programa onde o usuário insira 20 valores a serem armazenados em um vetor, e 
depois apresente o seguinte menu de opções ao usuário 
a. Saber em qual célula está armazenado um valor qualquer no vetor 
b. Alterar o valor de alguma célula 
c. Imprimir o vetor 
d. Sair 
Obs.: O programa deve apresentar este menu e realizar a operação desejada até que o usuário digite 
a opção 4. 
16- Faça uma função em C++ que receba 4 parametros: um vetor de inteiros, o seu tamanho, um 
número inteiro A delimitando o início de um intervalo e outro número B delimitando o fim 
deste intervalo. Esta função deverá retornar verdadeiro caso todos os elementos do vetor 
pertençam ao intervalo [A, B] ou falso caso contrário. Implemente uma função int main ( 
) para testar a função acima. 
17- Faça um programa que preencha um vetor com 100 números aleatórios (entre 0 e 99) e 
depois imprima todos aqueles valores que forem acima de 50 e sua respectiva posição no 
vetor (célula onde está armazenado). 
Obs.: Inclua a biblioteca stdlib.h para usar a função rand( ) que gera um número aleatório positivo 
qualquer. A partir daí, basta usar o operador % (resto da divisão) para garantir que o número 
aleatório esteja no intervalo [0, 99]. 
18- Faça um programa modularizado em C++ que dado um vetor SIMP de 10 
números inteiros gerados aleatoriamente pela função rand(), crie um vetor DUP de 20 
posições no qual a primeira metade é formada pelos 10 números gerados e a outra 
metade é formada pelos 10 números gerados multiplicados pelo número 2. 
19- Faça um programa para corrigir provas de múltipla escolha. Cada prova tem 20 questões e 
cada questão vale um ponto. O primeiro conjunto de dados a ser lido é o gabarito da prova. 
Os outros dados são os números dos alunos e as respostas que deram às questões. Existem 
70 alunos matriculados. Calcule e mostre: 
a. o número e a nota de cada aluno. 
b. a porcentagem de aprovação, sabendo-se que a nota mínima é 6. 
20- Escreva um programa e um programa para ler um vetor de 20 posições. Em seguida, trocaro 
primeiro elemento com o último, o segundo com o penúltimo, o terceiro com o 
antepenúltimo, e assim sucessivamente. Imprimir o vetor após a troca. 
 
 
 
21- Faça um programa e um programa para carregar um vetor de nove elementos numéricos 
inteiros, calcule e mostre os números primos e suas respectivas posições. 
Matrizes 
22- Crie um programa que preencha uma matriz 2 X 4 com números inteiros, calcule e mostre: 
a. A quantidade de elementos entre 12 e 20 em cada linha; 
b. A média dos elementos pares da matriz. 
23- Elabore um programa que preencha uma matriz 6 X 3, calcule e mostre: 
a. O maior elemento da matriz e sua respectiva posição, linha e coluna; 
b. O menor elemento da matriz e sua respectiva posição, linha e coluna. 
24- Faça um programa que receba: 
a. As notas de 15 alunos em cinco provas diferentes e armazene-as em uma matriz 15 X 
5; 
b. Os nomes dos 15 alunos e armazene-os em um vetor de 15 posições. 
c. O programa deverá calcular e mostrar: 
i. Para cada aluno, o nome, a média aritmética das cinco provas e a situação 
(aprovado, reprovado ou exame); 
ii. A média da classe. 
25- Faça um programa que preencha uma matriz 20 X 10 com números inteiros e some cada 
uma das colunas armazenando o resultado da soma em um vetor. A seguir, o programa 
deverá multiplicar cada elemento da matriz pela soma da coluna e mostrar a matriz 
resultante. 
26- Elabore um programa que preencha a matriz M de ordem 4 X 6 e uma segunda matriz N de 
ordem 6 X 4, calcule e imprima a soma das linhas de M com as colunas de N. 
27- Crie um programa que preencha duas matrizes 3 X 8 com números inteiros, calcule e 
mostre: 
a. A soma das duas matrizes, resultando em uma terceira matriz; 
b. A diferença das duas matrizes, resultando em uma quarta matriz. 
28- Crie um programa que preencha uma matriz 5 X 5 com números inteiros, calcule e mostre a 
soma: 
a. Dos elementos da linha 4; 
b. Dos elementos da coluna 2; 
c. Dos elementos da diagonal principal; 
d. Dos elementos da diagonal secundária; 
e. De todos os elementos da matriz. 
29- Elabore um programa que: receba a idade de oito alunos e armazene-as em um vetor; 
armazene o código de cinco disciplinas em outro vetor; armazene em uma matriz a 
quantidade de provas que cada aluno fez em cada disciplina. O algoritmo deverá calcular e 
mostrar: 
a. A quantidade de alunos com idade entre 18 e 25 anos que fizeram mais de duas 
provas em uma determinada disciplina, cujo código é digitado pelo usuário. O 
usuário poderá digitar um código não cadastrado; neste caso, o programa deverá 
mostrar mensagem de erro; 
b. Uma listagem contendo o código dos alunos que fizeram menos que três provas em 
determinada disciplina, seguido do código da disciplina; 
 
 
c. A média de idade dos alunos que não fizeram nenhuma prova em alguma disciplina. 
Cuidado para não contar duas vezes o mesmo aluno. 
30- Crie um programa que preencha uma matriz 12 X 13 e divida todos os elementos de cada 
linha pelo maior elemento em módulo daquela linha. O programa deverá escrever a matriz 
lida e a modificada. 
31- Elabore um programa que preencha uma matriz 5 X 5 e crie dois vetores de cinco posições 
cada um, que contenha, respectivamente, as somas das linhas e das colunas da matriz. O 
programa deverá escrever a matriz e os vetores criados. 
32- Crie um programa que preencha uma matriz 5 X 5 de números reais, calcule e mostre a 
soma dos elementos da diagonal secundária. 
33- Faça um programa que preencha uma matriz 8 X 6 de inteiros, calcule e mostre a média dos 
elementos das linhas pares da matriz. 
34- Fazer um programa para ler uma matriz 5x5. Gerar um vetor de 5 posições com os 
elementos da diagonal principal de forma invertida (o primeiro elemento da diagonal será o 
último do vetor, e assim por diante) 
35- Fazer um programa para ler uma matriz 10x10. Gerar outra matriz 10x10 da seguinte forma: 
a. -1 para valores menores que 10; 
b. 0 para valores iguais a 10; 
c. 1 para valores maiores que 10. 
36- Fazer um programa para ler duas matrizes numéricas 4x4 calculando, em seguida, a soma 
das matrizes. Verificar, na matriz resultado, se os elementos da diagonal principal são iguais 
aos da diagonal secundária. 
37- Faça uma função denominada verificaValor que receba uma matriz de inteiros de dimensão 
4 x 4 e um número inteiro x qualquer e retorne verdadeiro caso x esteja na matriz e falso 
caso contrário. Implemente também uma função int main( ) que peça ao usuário para 
preencher a matriz 4 x 4 de valores e então permita ao usuário digitar valores para verificar 
se eles estão na matriz, usando a função verificaValor. 
38- Faça uma função denominada inverteDiagonal que receba como parâmetro uma matriz 5 x 5 
com números reais e troque os elementos da diagonal principal desta matriz pelos elementos 
da diagonal secundária. Use uma função int main( ) para testar a função inverteDiagonal. 
39- Faça um programa que peça ao usuário para digitar valores para duas matrizes: uma matriz 
A de dimensão 4 x 3 e outra matriz B de dimensão 3 x 4, ambas armazenando valores reais. 
Após isto, seu programa deverá mostrar na tela uma terceira matriz C, de dimensões 4 x 4 
resultante da multiplicação de A x B. 
40- Faça um programa para ler uma matriz A inteira (3 X 3). Imprimir a matriz na tela. Calcular 
e imprimir a soma dos elementos situados abaixo da diagonal principal, incluindo os 
elementos da própria diagonal. 
41- 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. Carregue uma matriz 4X7 
com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna). 
42- Um elemento Ai,j de uma matriz é dito ponto de sela da matriz A se, e somente se, Ai,j for 
ao mesmo tempo o menor elemento da linha i e o maior elemento da coluna j. Faça um 
programa que carregue uma matriz de ordem 5X7, verifique se a matriz possui ponto de sela 
e, se possuir, mostre seu valor e sua localização. 
43- Carregue uma matriz 8X8 com números inteiros e mostre uma mensagem dizendo se a 
matriz digitada é simétrica. Uma matriz simétrica possui A[i, j] = A[j,i].

Outros materiais