Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 }
Compartilhar