This is a file preview. Join to view the original file.
APRL - Lista para P2/10-APRL-ListadeExercicios-Repeticao Vetores Matrizes.pdf FACENS - Faculdade de Engenharia de Sorocaba Algoritmos e Programação Marco Montebello – montebello@facens.br 1 Lista de Exercícios – Repetição, Vetores e Matrizes Entregar manuscritos os exercícios no dia da PROVA no início da aula Exercícios que devem ser entregues: 5, 15, 20 e 22 1. Calcule a média de duas notas, enquanto o usuário desejar. O mesmo deve pressionar a tecla 'n', para encerrar o programa (Deseja continuar (s/n)?). Exiba aprovado, reprovado e exame segundo o critério: Média >= 7 Aprovado Média >= 4 e < 7 Exame Média < 4 Reprovado 2. Desenvolver uma calculadora, realizando os cálculos enquanto o usuário desejar. Criar um menu de opções conforme o exemplo abaixo: + Soma - Subtração * Multiplicação / Divisão S Sair 3. Construa um programa que leia vários números inteiros e mostre qual foi o maior valor fornecido. O final da lista de valores será indicado quando o usuário entrar com um valor negativo. 4. Construa um programa que leia vários números inteiros e mostre qual foi o menor valor fornecido. Para cada valor digitado, deve ser solicitado ao usuário que ele digite se ele deseja continuar entrando com valores. OBS: Não se esqueça de validar a resposta do usuário, pois ele só pode responder “S” ou “N”. 5. Construa um algoritmo que calcule o novo salário (SAL_NOVO) para cada um dos funcionários da empresa. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário (SAL) seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, o reajuste deve ser de 10%. Caso o salário seja maior que 1000, o reajuste deve ser de 5%. O programa deve parar quando for digitado um salário (SAL) com valor negativo, ou seja, inválido. Além disso, ao final, o programa deve apresentar quanto será gasto a mais pela empresa com esses aumentos 6. Escreva um programa em linguagem C que leia a altura de 10 pessoas. Em seguida, o programa deve solicitar ao usuário que digite uma altura e deve exibir quantas pessoas possuem altura maior do que a altura fornecida 7. Desenvolva um programa em Linguagem C que receba do usuário um vetor com 15 elementos, e em seguida retorne: a. O maior valor digitado b. A média dos valores 8. Um cinema que possui capacidade de 20 lugares está sempre lotado. Certo dia cada espectador respondeu a um questionário, onde constava a idade e a sua opinião em relação ao filme que poderia ser bom, regular ou ruim. Elabore um programa que, recebendo estes dados calcule e mostre: a. a quantidade de respostas bom b. a média de idade das pessoas que responderam ruim c. a porcentagem das pessoas que responderam regular 9. Escreva um programa em linguagem C que leia 2 vetores de 10 posições e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor resultante. 10. Escreva um programa em linguagem C que leia e mostre um vetor de 20 elementos inteiros. A seguir, conte quantos valores pares existem no vetor. 11. Escreva um programa em Linguagem C que receba do usuário um vetor de 12 elementos do tipo inteiros. Em seguida encontre e mostre o menor elemento e sua posição no vetor. FACENS - Faculdade de Engenharia de Sorocaba Algoritmos e Programação Marco Montebello – montebello@facens.br 2 12. Faça um programa que leia um vetor de 15 elementos e um valor de código. Se o código for 1, mostrar o vetor na ordem direta, se o código for 2, mostrar o vetor na ordem inversa 13. Faça um programa que receba um vetor de 13 posições de números inteiros e mostre somente os positivos 14. Faça um programa que receba um vetor com A com 18 elementos e um valor x. Criar o vetor B contendo os elementos do vetor A multiplicados pelo valor x 15. Seja A e B dois vetores contendo 5 elementos inteiros. Fazer um programa para: a. Ler o vetor A e o vetor B b. Calcular a soma dos elementos de A. c. Calcular a soma dos elementos de B d. Obter o vetor C, que é a soma dos vetores A e B. e. Obter o vetor D, subtraindo B de A 16. Receber um vetor de 10 elementos de tipo float e exibir na tela o maior e o menor número. 17. Receber um vetor A com 15 elementos. Construir um vetor B do mesmo tipo e tamanho, sendo que cada elemento de B seja o dobro do elemento correspondente de A. 18. Receber um vetor de 10 elementos e depois colocar os elementos recebidos em ordem inversa dentro do mesmo vetor. (Pode-se usar uma variável auxiliar e NÃO um vetor auxiliar) 19. Escreva um programa em linguagem C que leia uma matriz de números inteiros de ordem 3x4. Em seguida solicite ao usuário que digite um número e exiba quantos elementos da matriz são iguais ao número fornecido 20. Desenvolva um programa em Linguagem C que recebe uma matriz 5x5 e realize as seguintes somas: a. Da linha de índice 4 b. Da coluna de índice 2 c. Da diagonal principal d. Da diagonal secundária e. De todos os elementos da matriz 21. Desenvolva um programa em Linguagem C que receba uma matriz 6x6 e que realize as seguintes trocas: a. A linha de índice 0 com a linha de índice 5 b. A coluna de índice 3 com a coluna de índice 4 22. Desenvolva um programa em Linguagem C que receba uma matriz 6x4 e some cada uma das linhas, armazenando o resultado da soma em um vetor. 23. Considere A e B duas matrizes 3x5. Faça um programa para calcular a matriz C, resultante da soma da matriz A com a matriz B. Imprimir a matriz C. 24. Criar um programa que receba uma matriz 7x5 de inteiros e calcule: A soma dos elementos de cada linhas e armazene o resultado em um vetor A soma dos elementos de cada coluna e armazene o resultado em outro vetor 25. Desenvolva um programa em Linguagem C, que receba 15 (quinze) valores decimais do usuário e insira apenas os valores negativos em um vetor e quando o valor inserido for positivo, deve-se inserir o valor 0 (zero) no vetor. Logo após deve-se exibir quantos valores negativos foram inseridos no vetor 26. Desenvolva um programa em Linguagem C que receba do usuário uma matriz 4x5 e um vetor com 5 elementos, onde ambos devem ser inteiros. Em seguida deve-se multiplicar cada uma das linhas da matriz pelo vetor. O resultado deve ser armazenado na própria matriz. Ao final deve-se exibir a matriz alterada. APRL - Lista para P2/Resolu��o/Exercicio_01_p2.c #include <stdio.h> #include <stdlib.h> //Calcule a média de duas notas, enquanto o usuário desejar. O mesmo deve pressionar a tecla 'n', para //encerrar o programa (Deseja continuar (s/n)?). Exiba aprovado, reprovado e exame segundo o critério: //Média >= 7 Aprovado //Média >= 4 e < 7 Exame //Média < 4 Reprovado main() { float n1, n2, media; char resp; do//condição do { printf("\nDigite a nota 1: "); scanf("%f", &n1); printf("\nDigite a nota 2: "); scanf("%f", &n2); media=(n1+n2)/2; printf("\nSua media foi: %.2f", media); if (media>=7) printf("\nAprovado!"); else if (media>=4 && media<7) printf("\nExame!"); else printf("\nReprovado!"); printf("\n\n\nDeseja continuar? (S/N) "); fflush(stdin); scanf("%c", &resp); }//condição while while (resp!='n'); } APRL - Lista para P2/Resolu��o/Exercicio_01_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_01_p2.o APRL - Lista para P2/Resolu��o/Exercicio_02_p2.c #include <stdio.h> #include <stdlib.h> //Desenvolver uma calculadora, realizando os cálculos enquanto o usuário desejar. Criar um menu de //opções conforme o exemplo abaixo: // + Soma // - Subtração // * Multiplicação // / Divisão // S Sair main() { float num1,num2, resp; char op; do { printf("\n\nDigite o valor 1:"); scanf("%f", &num1); printf("\n\nDigite o valor 2:"); scanf("%f", &num2); printf("\nQual a operacao Desejada?\n+\tSoma\n-\tSubtracao\n*\tMultiplicacao\n/\tDivisao\nS\tSair\n"); fflush(stdin); scanf("%c", &op); if (op=='+') resp=num1+num2; else if(op=='-') resp = num1-num2; else if (op=='*') resp = num1*num2; else if (op=='/') resp = num1/num2; printf("\nResposta: %.2f", resp); } while (op!='s'); } APRL - Lista para P2/Resolu��o/Exercicio_02_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_02_p2.o APRL - Lista para P2/Resolu��o/Exercicio_05_p2.c // Construa um algoritmo que calcule o novo salário (SAL_NOVO) para cada um dos funcionários da //empresa. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário (SAL) seja //menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, o reajuste deve ser //de 10%. Caso o salário seja maior que 1000, o reajuste deve ser de 5%. O programa deve parar //quando for digitado um salário (SAL) com valor negativo, ou seja, inválido. Além disso, ao final, o //programa deve apresentar quanto será gasto a mais pela empresa com esses aumentos #include <stdio.h> #include <stdlib.h> main () { float sal, salnovo, gasto=0,dif; char sair; do { if(gasto!=0) printf("\n\nNovo salario: R$%.2f", salnovo); printf ("\n\nQual o salario do funcionario? R$"); scanf("%f", &sal); if (sal>0 && sal<500) salnovo=sal*1.15; else if(sal>=500 && sal<1000) salnovo=sal*1.1; else if (sal>=1000) salnovo=sal*1.05; else if (sal<=0) printf("\n\n\n\nSalario Invalido!\n\n"); dif=0; if (sal>0) dif = salnovo-sal; gasto=gasto+dif; } while (sal>=0); printf("\nGasto total com os aumentos R$%.2f\n\n\n", gasto); } APRL - Lista para P2/Resolu��o/Exercicio_05_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_05_p2.o APRL - Lista para P2/Resolu��o/Exercicio_15_p2.c //Seja A e B dois vetores contendo 5 elementos inteiros. Fazer um programa para: //a. Ler o vetor A e o vetor B //b. Calcular a soma dos elementos de A. //c. Calcular a soma dos elementos de B //d. Obter o vetor C, que é a soma dos vetores A e B. //e. Obter o vetor D, subtraindo B de A #include <stdio.h> #include <stdlib.h> main() {//declaração dos vetores int a, b, vetora[5], vetorb[5], somaa=0, somab=0, vetorc=0, vetord=0; //entrando com os valores da vetor for (a=0; a<5; a++) { printf("\nDigite o Vetor [a%i]: ", a); scanf("%i", &vetora[a]); } printf("\n\n\n"); for (b=0; b<5; b++) { printf("\nDigite o Vetor [b%i]: ", b); scanf("%i", &vetorb[b]); } printf("\n\n"); //imprimindo os valores do vetor for (a=0; a<5; a++) { printf("\nVetor[a%i] = %i", a, vetora[a]); } printf("\n"); for (b=0; b<5; b++) { printf("\nVetor [b%i] = %i",b , vetorb[b]); } //somando o vetor for (a=0; a<5; a++) { somaa=somaa+vetora[a]; } printf("\n\nSoma dos elementos do vetor A = %i\n", somaa); for (b=0; b<5; b++) { somab=somab+vetorb[b]; } printf("\n\nSoma dos elementos do vetor B = %i\n", somab); //somando os vetores vetorc=somaa+somab; vetord=somaa-somab; printf("\nVetor C = %i", vetorc); printf("\nVetor D = %i", vetord); printf("\n\n"); system("pause"); } APRL - Lista para P2/Resolu��o/Exercicio_15_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_15_p2.o APRL - Lista para P2/Resolu��o/Exercicio_20_p2.c // Desenvolva um programa em Linguagem C que recebe uma matriz 5x5 e realize as seguintes somas: //a. Da linha de índice 4 //b. Da coluna de índice 2 //c. Da diagonal principal //d. Da diagonal secundária //e. De todos os elementos da matriz #include <stdio.h> #include <stdlib.h> main() { //Declaração para Matriz int l, c; float matriz[5][5], somadp=0, somads=0, somaid=0, somaiq=0, somat; //Entrando com os valores da matriz for (l=0; l<5; l++) { for (c=0; c<5; c++) { printf("\nDigite o Valor do elemento [%ix%i]: ", l, c); scanf("%f", &matriz[l][c]); } } //somando valores da linha da matriz (índice 4) for (c=0; c<5; c++) { somaiq=somaiq+matriz[4][c]; } //somando valores da linha da matriz (índice 2) for (c=0; c<5; c++) { somaid=somaid+matriz[2][c]; } //Soma diagonal principal for (l=0; l<5; l++) { for (c=0; c<5; c++) { if (l==c) somadp=somadp+matriz[l][c]; } } //soma da diagonal secundária for (l=0; l<5; l++) { for (c=0; c<5; c++) { if (l+c==4) //o valor 4 é o maior indice da matriz somads=somads+matriz[l][c]; } } //soma de todos os índices da matriz for (l=0; l<5; l++) { for (c=0; c<5; c++) { somat=somat+matriz[l][c]; } } //apartir daqui são os comando para printf printf("\n\n\nMatris 5x5"); for (l=0; l<5; l++) {printf("\n"); for (c=0; c<5; c++) { printf("%.2f\t", matriz[l][c]); } } printf("\n\nSoma dos elementos do indice 4: %.2f", somaiq); printf("\n\nSoma dos elementos do indice 2: %.2f", somaid); printf("\n\nSoma da diagonal principal: %.2f", somadp); printf("\n\nSoma da diagonal secundaria: %.2f", somads); printf("\n\nSoma de todos os elementos: %.2f", somat); printf("\n\n"); } APRL - Lista para P2/Resolu��o/Exercicio_20_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_20_p2.o APRL - Lista para P2/Resolu��o/Exercicio_22_p2.c //Desenvolva um programa em Linguagem C que receba uma matriz 6x4 e some cada uma das linhas, //armazenando o resultado da soma em um vetor. #include <stdio.h> #include <stdlib.h> main() { int l, c; float matriz[6][4], vetor[6]; for (l=0; l<6; l++) { for (c=0; c<4; c++) { printf("\nDigite o Valor do elemento [%ix%i]: ", l, c); scanf("%f", &matriz[l][c]); } } for (l=0; l<6; l++) { vetor[l]=0; } for (l=0; l<6; l++) { for(c=0; c<4; c++) { vetor[l]=vetor[l]+matriz[l][c]; } } for (l=0; l<6; l++) {printf("\n"); for (c=0; c<4; c++) { printf("%.2f\t", matriz[l][c]); }} for (l=0; l<6; l++) { printf("\nVetor[a%i] = %.2f", l, vetor[l]); } printf("\n\n"); system("pause"); } APRL - Lista para P2/Resolu��o/Exercicio_22_p2.exe APRL - Lista para P2/Resolu��o/Exercicio_22_p2.o