Logo Passei Direto
Material

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