Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Lista 6 - gabarito
Lista 6 - imprima, atribuição,\leia, se ... então .. senão se, escolha, para
ou enquanto ou faca...enquanto e vetores.
Orientações:
1- Todas as soluções na linguagem UAL.
2- O comanda de entrada está presente em todos os exercícios.
3- Quando existir algum cálculo declare a variável e armazene o
resultado da operação.
4- A estrutura do para, ou a estrutura do enquanto ou a estrutura do
faca...enquanto, está presente em todos os exercícios.
5 - Todos os exercícios terão comando de saída.
6- Todos os exercícios têm pelo menos um vetor.
7- Codificar em C++ todas as soluções já testadas no ambiente UAL.
Linguagem UAL Linguagem C++
Solução do exercício 13
1) Armazenar 10 números inteiros em um vetor NUM e exibir uma listagem
numerada.
Lista 6 - gabarito
#include <iostream>
#define TAM 15
using namespace std;
int main()
{
//declaração da variável do for e do vetor
int x, NUM[TAM];
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero inteiro: ";
cin>>NUM[x];
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nRelacao do numeros\n";
for(x=0; x< TAM; x++)
cout<<"\n"<< x + 1 <<" - "<<NUM[x];
cout<<"\n\n";
system("pause"); // so no windows
}
2) Armazenar 15 números inteiros em um vetor NUM e exibir uma listagem
numerada contendo o número e uma das mensagens: par ou ímpar.
#include <iostream>
#define TAM 15
using namespace std;
int main()
{
//declaração da variavel do for e do vetor
int x, NUM[TAM];
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero inteiro: ";
cin>>NUM[x];
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nNumero\tPar/Iimpar\n";
for(x=0; x< TAM; x++)
if(NUM[x] % 2 == 0 )
cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tPAR";
else
cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tIMPAR";
cout<<"\n\n";
system("pause"); // so no windows
}
Lista 6 - gabarito
3) Entrar com números reais para o vetor A de 10 elementos. Gerar e exibir o
vetor triplo.
#include <iostream>
#define TAM 10
using namespace std;
int main()
{
//declaração da variavel do for e dos vetores
int x;
float A[TAM], TRI[TAM];
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero: ";
cin>>A[x];
}
//gerando o vetor triplo
for(x=0; x< TAM; x++)
{
TRI[x]= A[x] * 3; //essa linha poderia estar no 1o for, depois da entrada
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nVetor Triplo\n";
for(x=0; x< TAM; x++)
cout<<"\n"<<TRI[x];
cout<<"\n\n";
system("pause"); // so no windows
}
4) Armazenar 8 números em um vetor e exibir todos os números. Ao final, o total
de números múltiplos de seis digitados.
#include <iostream>
#define TAM 8
using namespace std;
int main()
{
//declaração da variavel do for, contador e do vetor
int x, NUM[TAM], conta6=0;
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero inteiro: ";
cin>>NUM[x];
if(NUM[x] % 6 == 0)
conta6++;
Lista 6 - gabarito
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nRelacao do numeros\n";
for(x=0; x< TAM; x++)
cout<<"\n"<< x + 1 <<" - "<<NUM[x];
cout<<"\n\nTotal de numeros multiplos de 6: "<<conta6;
cout<<"\n\n";
system("pause"); // so no windows
}
5) Armazenar matrícula e notas das AV1, AV2 e AV3 de 15 alunos. Calcular e
armazenar a média segundo critério da Estácio (as duas maiores notas
precisam ser maiores do que 4,0 e a média tem que ser maior ou igual a 6,0).
Exibir uma listagem contendo matricula, as duas notas, média e situação de
cada aluno.
#include <iostream>
#define TAM 3
using namespace std;
int main()
{
//declaração da variavel do for, das variaveis simples e dos vetores
int x, matric[TAM], sit[TAM];
float AV1[TAM], AV2[TAM], AV3[TAM], med[TAM], maior1, maior2;
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nMatricula do "<<x+1<<"o aluno: ";
cin>>matric[x];
cout<<"\nNota da AV1 do "<<x+1<<"o aluno: ";
cin>>AV1[x];
cout<<"\nNota da AV2 do "<<x+1<<"o aluno: ";
cin>>AV2[x];
cout<<"\nNota da AV3 do "<<x+1<<"o aluno: ";
cin>>AV3[x];
}
//calculo da media
for(x=0; x< TAM; x++)
{
if(AV1[x] < AV2[x] && AV1[x] < AV3[x] )
{
maior1=AV2[x]; maior2=AV3[x];
}
else if( AV2[x] < AV3[x] )
{
maior1=AV1[x]; maior2=AV3[x];
}
else
{
maior1=AV1[x]; maior2=AV2[x];
Lista 6 - gabarito
}
med[x]=(maior1 + maior2)/2;
//Quando voce, na AULA_10 aprender a ducao strcpy(), volte aqui e
melhore esse trecho
if(maior1 >= 4 && maior2 >= 4 && med[x] >=6 )
sit[x]=1;
else
sit[x]=0;
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nMatric.\tAV1\tAV2\tAV3\tMedia\tSituacao\n";
for(x=0; x< TAM; x++)
{
cout<<"\n"<<
matric[x]<<"\t"<<AV1[x]<<"\t"<<AV2[x]<<"\t"<<AV3[x]<<"\t"<<med[x]<
<"\t";
if(sit[x] == 1)
cout<<"AP";
else
cout<<"RP";
}
cout<<"\n\n";
system("pause"); // so no windows
}
6) Armazenar matrícula e salário de 20 pessoas. Calcular o novo salário sabendo-
se que o reajuste foi de 8%. Exibir uma listagem numerada com matrículas e
novos salários.
#include <iostream>
#define TAM 20
using namespace std;
int main()
{
//declaração da variavel do for e dos vetores
int x, matric[TAM];
float sal[TAM], salNovo[TAM];
//entrada e calculo do novo salario
for(x=0; x< TAM; x++)
{
cout<<"\nMatricula do "<<x+1<<"o funcionario: ";
cin>>matric[x];
cout<<"\nSalario atual do "<<x+1<<"o funcionario: ";
cin>>sal[x];
salNovo[x]=sal[x] * 1.08;
}
//saida
system("cls"); //no Linux system("clear");
Lista 6 - gabarito
cout<< "\nMatric\tNovo salario\n";
for(x=0; x< TAM; x++)
cout<<"\n"<< x + 1 <<"-"<<matric[x]<<"\t"<<salNovo[x];
cout<<"\n\n";
system("pause"); // so no windows
}
7) Armazenar código, quantidade, valor de compra e valor de venda de 30
produtos. A listagem pode ser de todos os produtos ou somente de um ao se
digitar o código.
#include <iostream>
#define TAM 30
using namespace std;
int main()
{
//declaração da variavel do for, outras variáveis simples e dos vetores
int x, codigo[TAM], qtdade[TAM], codigoProcura, achou, op, posicaoAchada;
float valorCompra[TAM], valorVenda[TAM];
//entrada e
for(x=0; x< TAM; x++)
{
cout<<"\nCodigo do "<<x+1<<"o produto: ";
cin>>codigo[x];
cout<<"\nQuantidade do "<<x+1<<"o produto: ";
cin>>qtdade[x];
cout<<"\nValor de compra do "<<x+1<<"o produto: ";
cin>>valorCompra[x];
cout<<"\nValor de compra do "<<x+1<<"o produto: ";
cin>>valorVenda[x];
}
//saida
do
{
system("cls"); //no Linux system("clear");
cout<<"\nListagem\n";
cout<<"\n1- Todos";
cout<<"\n2- So um";
cout<<"\n3- Sai";
cout<<"\nOpcao: ";
cin>>op;
system("cls");
switch(op)
{
case 1:
cout<< "\nCodigo\tQtdade\tCompra\tVenda\n";
for(x=0; x< TAM; x++)
cout<<"\n"<<codigo[x]<<"\t"<<qtdade[x]<<"\t"<<valorCompra[x]<<"\t"<<
valorVenda[x];
Lista 6 - gabarito
break;
case 2:
cout<< "\nDigite o codigo do produto: ";
cin>>codigoProcura;
achou=0;
for(x=0; x< TAM && achou == 0; x++)
if(codigoProcura == codigo[x])
{
achou=1;
posicaoAchada=x;
}
if(achou == 1)
{
cout<< "\nCodigo\tQtdade\tCompra\tVenda\n";
cout<<"\n"<<codigo[posicaoAchada]<<"\t"<<qtdade[posicaoAchada]<<"\t"<
<valorCompra[posicaoAchada]<<"\t"<<valorVenda[posicaoAchada];
}
else
cout<<"\nCodigo não encontrado";
break;
case 3:
cout<<"\nGabarito\n";
break;
default: cout<<"\nOpcao Invalida\n";
}
cout<<"\n\n";
system("pause"); // so no windows
}while(op != 3);
}
8) Entrar com números inteiros em um vetor A [50]. Gerar e exibir o vetor B
onde cada elemento é o quadrado do elemento, na respectiva posição, do
vetor A.
#include <iostream>
#define TAM 50
using namespace std;
int main()
{
//declaração da variavel do for e dos vetores
int x;
float A[TAM], B[TAM];
//entrada e geracao do vetor B
for(x=0; x< TAM; x++)
{
cout<<"\nNumero: ";
cin>>A[x];
B[x]= A[x] * A[x]; //pode usar a funcao pow(,)
Lista 6 - gabarito
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nVetor Quadrado\n";
for(x=0; x< TAM; x++)
cout<<"\n"<<B[x];
cout<<"\n\n";
system("pause"); // so no windows
}
9) Faça um programa que leia um vetor A de 10 valores e construa outro vetor B,
da seguinte forma:
Ex: Vetor A 3 8 4 2 5
Vetor B 9 4 12 1 15
#include <iostream>
#define TAM 10
using namespace std;
int main()
{
//declaração da variavel do for e dos vetores
int x;
float A[TAM], B[TAM];
//entrada e geracao do vetor B
for(x=0; x< TAM; x++)
{
cout<<"\nNumero: ";
cin>>A[x];
if( x % 2 == 0)//VERIFICA SE A POSICAO É PAR
B[x]= A[x] * 3;
else
B[x]= A[x] / 2;
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\n\nVetor A\t";
for(x=0; x< TAM; x++)
cout<<A[x]<<"\t";
cout<< "\n\nVetor B\t";
for(x=0; x< TAM; x++)
cout<<B[x]<<"\t";
cout<<"\n\n";
system("pause"); // so no windows
}
10) Faça um programa que leia dois vetores A e B, contendo, cada um, 25
elementos inteiros. Intercale esses dois conjuntos( A[1] / B[1] / A[2] / B[2]
/..), formando um vetor V de 50 elementos. Exiba o vetor V.
Lista 6 - gabarito
#include <iostream>
#define TAM 25
using namespace std;
int main()
{
//declaração da variável do for, variável que indicará a posição de V e do
vetor
int x, posV=0;
float A[TAM], B[TAM], V[TAM*2];
//entrada e geracao do vetor V
for(x=0; x< TAM; x++)
{
cout<<"\nNumero "<< x+1<<" do vetor A: " ;
cin>>A[x];
V[posV]=A[x];
posV++;
cout<<"\nNumero "<< x+1<<" do vetor B: " ;
cin>>B[x];
V[posV]=B[x];
posV++;
}
//saida EXIBI TAMABÉM OS VETORES A e B PARA VOCES ENTENDEREM
MELHOR
system("cls"); //no Linux system("clear");
cout<< "\n\nVetA\t";
for(x=0; x< TAM; x++)
cout<<A[x]<<"\t";
cout<< "\n\nVetB\t";
for(x=0; x< TAM; x++)
cout<<B[x]<<"\t";
cout<< "\n\nVetV\t";
for(x=0; x< TAM*2; x++)
cout<<V[x]<<"\t";
cout<<"\n\n";
system("pause"); // so no windows
}
11) Faça um programa para ler um conjunto de 100 números reais e informar:
1. quantos números lidos são iguais a 30
2. quantos são maiores que a média
3. quantos são iguais a média
#include <iostream>
#define TAM 100
using namespace std;
int main()
{
//declaração da variavel do for, contadores, acumuladores e do vetor
int x, conta30=0, contaMaiorMedia=0, contaIgualMedia=0;;
float A[TAM], soma, media;
//entrada
Lista 6 - gabarito
soma=0;
for(x=0; x< TAM; x++)
{
cout<<"\nNumero "<< x+1<<" do vetor: " ;
cin>>A[x];
soma += A[x];
}
media=soma/TAM;
//saida e testes
system("cls"); //no Linux system("clear");
cout<< "\n\nVetor\n";
for(x=0; x< TAM; x++)
{
if(A[x]== 30)
conta30++;
if(A[x] > media)
contaMaiorMedia++;
else if(A[x] == media)
contaIgualMedia++;
cout<<A[x]<<"\n";
}
cout<<"\n\nIguais a 30: "<<conta30;
cout<<"\n\nMaiores que a media: "<<contaMaiorMedia;
cout<<"\n\nIguais a media: "<<contaIgualMedia;
cout<<"\n\n";
system("pause"); // so no windows
}
12) Faça um programa que leia um conjunto de 30 valores inteiros, armazene-os
em um vetor e escreva-os ao contrário da ordem de leitura.
#include <iostream>
#define TAM 30
using namespace std;
int main()
{
//declaração da variavel do for e do vetor
int x;
float A[TAM];
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero: ";
cin>>A[x];
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nExibindo na ordem inversa de leitura\n";
for(x=TAM-1; x>=0; x--)
cout<<"\n"<<A[x];
Lista 6 - gabarito
cout<<"\n\n";
system("pause"); // so no windows
}
13) Faça um programa que leia os elementos de um vetor com 6 posições.Em
seguida, troque o primeiro elemento com o último, o segundo com o penúltimo,
o terceiro com o antepenúltimo, e assim sucessivamente. Ao final, exiba os dois
vetores.
#include <iostream>
#define TAM 6
using namespace std;
int main()
{
//declaração da variavel do for e do vetor
int x, tras;
float A[TAM], aux;
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero: ";
cin>>A[x];
}
//Trocando
tras=TAM-1;
for(x=0; x< TAM/2; x++)
{
aux=A[x];
A[x]=A[tras];
A[tras]=aux;
tras--;
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nTrocando de posicao\n";
for(x=0; x< TAM; x++)
cout<<"\n"<<A[x];
cout<<"\n\n";
system("pause"); // so no windows
}
14) No vestibular da Estácio, no curso de Sistemas de Informação, inscreveram-se
12000 pessoas. Faça um programa que leia o gabarito da prova que tinha 100
questões, sendo o valor de cada questão igual a 1 ponto. Para cada candidato,
deverá ser lido o número de inscrição e as 100 respostas dele. O programa
deverá exibir: o número de inscrição e a nota de cada candidato. Observação:
Só é necessário guardar a soma dos pontos de cada candidato e o número de
inscrição.
Lista 6 - gabarito
#include <iostream>
#define TAM 1200
#define GAB 100
using namespace std;
int main()
{
//declaração da variavel do for e do vetor
int x, y, conta, nInsc[TAM],candidatos[TAM];
char gabarito[GAB], resp;
//entra com gabarito
for(y=0; y<GAB; y++)
{
cout<<"\ndigite gabarito da "<<y+1<<"a questao (a/b/c/d/e): ";
cin>>gabarito[y];
}
system("cls");
//entrada
for(x=0; x< TAM; x++)
{
cout<<"\nNumero de inscricao: ";
cin>>nInsc[x];
cin.get();
conta=0;
for(y=0; y<GAB; y++)
{
cout<<"\ndigite resposta da "<<y+1<<"a questao (a/b/c/d/e): ";
cin>>resp;
if(resp == gabarito[y])
conta++;
}
candidatos[x]=conta;
}
//saida
system("cls"); //no Linux system("clear");
cout<< "\nNumInsc\tNotas dos candidatos\n";
for(x=0; x<TAM; x++)
cout<<"\n"<<nInsc[x]<<"\t"<<candidatos[x];
cout<<"\n\n";
system("pause"); // so no windows
}