Você está na página 1de 3

Murilo das Dores Alves – 1920486100001

Programação Orientada à Objetos e Algoritmos em C++


Prof. Emerson Lima
Exercícios – Arranjos

Instruções: Utilize o seu editor de texto e o seu compilador para fazer as seguintes
questões. Reúna todas as suas respostas em um único arquivo. Questões que pedem
escrita ou execução de códigos podem ser respondidas como imagens através de capturas
da tela.

Parte 1 de 3 – Revisão

2.Determine se cada uma das seguintes frases é verdadeira ou falsa. Se falsa, explique por quê.

a)Um arranjo pode armazenar muitos tipos de valores diferentes. Verdadeiro, por que armazena
números inteiros ou decimais, caracteres que são letras ou símbolos ou números,
booleanos, void ou auto, e operações aritméticas.

b)Um índice de arranjo dever normalmente do tipo float. Falso, por que é determinada a posição
do vetor por números inteiros de 0 à N.

c)Um elemento individual de um arranjo que é passado para um método e modificado nesse método
conterá o valor modificado quando o método chamado completar sua execução. Falso, pois o tipo de
variável pode ser modificado. Por exemplo: char a; cout « static_cast<int>(a);

5.Determine se cada uma das seguintes frases é verdadeira ou falsa. Se falsa, explique por quê.

a)Para referir-se a uma localização particular ou elemento dentro de um arranjo, especificamos o nome
do arranjo e o valor do elemento particular. Falso, pois ao referir-se a localização de um
elemento dentro do arranjo, utilizamos o valor do índice de arranjo como x[2] que
determina o terceiro elemento do vetor.

b)Uma declaração de arranjo reserva espaço para o arranjo. Verdadeiro, pois contém o tipo de
variável e o total de elementos mais um. Por exemplo: int a[3] que é arranjo de 4 números
inteiros.

c)Para indicar que 100 localizações devem ser reservadas para o arranjo de inteiros p, o programador
escreve a declaração p[100]; Falso, pois este arranjo é de 101 elementos que conta de 0 á 100,
e já o de 100 elementos é p[99] que conta de 0 à 99.

d)Um aplicativo que inicializa os elementos de um arranjo de 15 elementos como zero deve conter pelo
menos uma instrução for. Verdadeiro, pois precisa inserir elementos nas posições de 0 à 14
dentro do arranjo. Por exemplo: a[i]; for(i = 0; i <= 14; i++){…}
6.Escreva instruções C++ para realizar cada uma das seguintes tarefas:

a)Exiba o valor de elemento 6 do arranjo f. cout « f[5];

b)Inicialize cada um dos cinco elementos de arranjo de inteiros unidimensional g como 8.


int g[4];
g[0] = 8;

c)Some os 100 elementos do arranjo de ponto flutuante c.


float c[i], soma = 0;
for(int i = 0; i < 100; i++){
soma = soma + c[i]; // soma += c[i];
}
d)Copie o arranjo a de 11 elementos para a primeira parte do arranjo b, que contém 31 elementos.
a[11];
b[31];
array<int,11> b=a;

e)Determine e exibe os maiores e menores valores contidos no arranjo de ponto flutuante w de 9


elementos.
float w = {1.1, 2, 3, 4, 5 ,6, 7, 8, 9.9};
float maior[0];
float menor[0];
for (int i = 0; i < 9; ++i) {
if (w[i] > maior) maior = w[i];
if (w[i] < menor) menor = w[i];
}
return maior;
return menor;
Parte 2 de 3- Programação

7.(Eliminação de duplicatas) Utilize um arranjo unidimensional para resolver o seguinte problema:


Escreva um aplicativo que insere cinco números, cada um entre 10 e 100, inclusive.

À medida que cada número é lido, só o exiba se ele não for uma duplicata de um número já lido. Cuide
de tratar o “pior caso”, em que todos os cinco números são diferentes. Utilize o menor arranjo possível
para resolver esse problema. Exiba o conjunto completo de valores únicos inseridos até o momento após
cada inserção feita pelo usuário.
#include <iostream>
#include <math.h>
using namespace std;

int main(){
int vetor[5], i,j, k=0;
int imprime[5];
bool repetido;

for(i=0; i<5; i++){


cout << "Digite um número entre 10 e 100 \n";
cout << "Valor " << i + 1 << " : ";
cin >> vetor[i];
cout << "\n";
}
// if(((vetor[0] || vetor[1] || vetor[2] || vetor[3] || vetor[4]) >= 10) && ((vetor[0] || vetor[1] || vetor[2] ||
vetor[3] || vetor[4]) <= 100)){ //
for(i=0; i<5; i++){
repetido = false;
for( j = i+1; j<5; j++){
if(vetor[i] == vetor[ j]) {
repetido = true; //indica que o número está repetido
break;
}
}
if (!repetido){ //apenas transfere para o novo vetor os números não repetidos
imprime[k] =vetor[i];
k++;
}
}
for(i=0; i<k; i++){
cout << "\n O número é:\n" << imprime[i] << "\n";
}
// }
// else{
// cout << "\n Você digitou número inválido. Tente novamente inserir valores entre 10 e 100 \n";
// }
return 0;
}

Você também pode gostar