Anda di halaman 1dari 4

Lista de Exercícios de Vetores e Matrizes

1. Leia um vetor de 12 posições e em seguida ler também dois valores X e Y


quaisquer correspondentes a duas posições no vetor. Ao final seu programa
deverá escrever a soma dos valores encontrados nas respectivas posições X e Y.

2. Declare um vetor de 10 posições e o preencha com os 10 primeiros números


impares e o escreva.

3. Leia um vetor de 16 posições e troque os 8 primeiros valores pelos 8 últimos e


vice-e-versa. Escreva ao final o vetor obtido.

4. Leia um vetor de 20 posições e em seguida um valor X qualquer. Seu programa


devera fazer uma busca do valor de X no vetor lido e informar a posição em que
foi encontrado ou se não foi encontrado.

5. Leia um vetor de 40 posições e acumule os valores do primeiro elemento no


segundo, deste no terceiro e assim por diante. Ao final, escreva o vetor obtido.

6. Leia um vetor contendo letras de uma frase inclusive os espaços em branco.


Retirar os espaços em branco do vetor e depois escreve-los.

7. Leia um vetor de 5 posições contendo os caracteres de um numero. Em seguida


escreva esse numero por extenso.

8. Leia dois vetores de 4 posições. Verifique e escreva se um é anagrama de outro.


Ex: ARARA ARARA - são anagramas

9. Leia 3 vetores de 9 posições e crie outro com o 1º terço do primeiro, o segundo


3º. do segundo e o ultimo terço do 3º. Escrever o vetor resultante ao final.

10. Leia um vetor de 10 posições e verifique se existem valores iguais e os escreva.

11. Leia um vetor de 50 posições e o compacte, ou seja, elimine as posições com


valor zero avançando uma posição, com os com os valores subseqüentes do
vetor. Dessa forma todos “zeros” devem ficar para as posições finais do vetor.

12. Considere um vetor de trajetórias de 9 elementos, onde cada elemento possui o


valor do próximo elemento do vetor a ser lido.
Índice 1 2 3 4 5 6 7 8 9
Valor 5 7 6 9 2 8 4 0 3
Assim, a seqüência da leitura seria 1, 5, 2, 7, 4, 9, 3, 6, 8, 0
Faça um algoritmo que seja capaz de ler esse vetor e seguir a trajetória.

13. Leia uma matriz 6 x 6, conte e escreva quantos valores maiores que 10 ela
possui.

14. Leia uma matriz 20 x 20. Leia também um valor X. O programa deverá fazer
uma busca desse valor na matriz e, ao final escrever a localização (linha e
coluna) ou uma mensagem de “não encontrado”.
15. Leia uma matriz 4 x 4 e troque os valores da 1ª.linha pelos da 4ª.coluna, vice-e-
versa. Escrever ao final a matriz obtida

16. Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo
zero a todos os elementos acima da diagonal principal, escrevendo-a ao final.

17. Leia uma matriz 5 x 5 e faça uma troca entre as diagonais superior e inferior.
Escreva-a ao final.

18. Leia duas matrizes 10 x 10 e faça uma substituição entre a diagonal inferior da
primeira coma diagonal superior da segunda.

19. Leia uma matriz 8x 8 e escreva o maior elemento da diagonal principal e a soma
dos elementos da diagonal secundaria.

20. Considere uma matriz de distância entre cidades 6 x 6:

1.(Cáceres) 2.(BBugres) 3.(Cuiabá) 4.(VGrande) 5.(Tangará) 6.(PLacerda)


1.(Cáceres) 63 210 190 190
2.(BBugres) 63 160 150 95
3.(Cuiabá) 210 160 10
4.(VGrande) 190 150 10
5.(Tangará) 95 80
6.(PLacerda) 190 80

Considere também um vetor de viagem indo de Cuiabá até Cáceres pela seguinte
rota:

Indice 1 2 3 4 5 6
Cidade 3 4 2 5 6 1

Faça um programa que leia a matriz e o vetor e calcule a distancia percorrida


durante a viagem.

21. Leia uma matriz 100 x 10 que se refere respostas de 10 questões de múltipla
escolha, referentes a 100 alunos. Leia também um vetor de 10 posições contendo
o gabarito d e respostas que podem ser a, b, c ou d. Seu programa deverá
comparar as respostas de cada candidato com o gabarito e emitir um vetor
Resultado, contendo a pontuação correspondente.

22. Leia duas matrizes 4 x 4 e verifique se uma é palindromo, isto é, sua leitura a
partir de qualquer direção sempre apresentara a mesma seqüência.
EX. SATOR
AREPO
TENET
OPERA
ROTAS

23. Defina uma estrutura que irá representar bandas de música.


Essa estrutura deve ter o nome da banda, que tipo de música ela toca, o número de
integrantes e em que posição do ranking essa banda está dentre as suas 5 bandas
favoritas.
24. Crie um looping para preencher as 5 estruturas de bandas criadas no exemplo
passado.
Após criar e preencher, exiba todas as informações das bandas/estruturas.
Não se esqueça de usar o operador -> para preencher os membros das structs.

25. Crie uma função que peça ao usuário um número de 1 até 5.


Em seguida, seu programa deve exibir informações da banda cuja posição no seu
ranking é a que foi solicitada pelo usuário.

26. Crie uma função em C que peça ao usuário um tipo de música e exiba as bandas com
esse tipo de música no seu ranking. Que função da string.h você usaria para comparar
as strings que representam o tipo de banda?

27. Crie uma função que peça o nome de uma banda ao usuário e diga se ela está entre
suas bandas favoritas ou não.

28. Agora junte tudo e crie uma mega aplicação em que exibe um menu com as opções de
preencher as estruturas e todas as opções das questões passadas.

29. Escreva uma função que receba como parâmetro um número inteiro positivo N e
retorne a soma de todos os números inteiros de 1 a N. Escreva um procedimento
que leia um número N e, caso ele seja positivo, imprima a soma dos números de
1 a N. Caso seja zero ou negativo, informe ao usuário que o valor é inválido e
repita a leitura até que seja informado um número positivo. Por fim, escreva um
programa que leia 5 números positivos e imprima os somatórios utilizando as
duas sub-rotinas criadas.

30. Escreva uma função que encontre o mínimo divisor de um número inteiro. Em
seguida, escreva outra função que, dado um número inteiro, imprima sua
fatoração, ou seja, a lista de seus divisores primos (ex.: 204 = 2 x 2 x 3 x 17).
Por fim, escreva um programa que leia números e imprima suas fatorações até
que seja digitado o número zero.

31. Escreva um programa que leia um número N e, em seguida, leia os tamanhos


dos lados de N triângulos. Para cada três lados informados, imprimir uma das
seguintes informações: (a) "Não é um triângulo”: caso a medida de um dos lados
seja maior que a soma dos outros dois; (b) “Equilátero”: caso os três lados
tenham medidas iguais; (c) “Isósceles”: caso dois dos três lados tenham medidas
iguais; ou (d) “Escaleno”: caso os três lados tenham medidas diferentes entre si.
Sugere-se a criação de duas funções: • ehTriangulo(): recebe os tamanhos dos
três lados e retorna verdadeiro (1) se os lados podem formar um triângulo, falso
(0) caso contrário; • tipoTriangulo(): recebe os tamanhos dos três lados e retorna
1 se o triângulo for equilátero, 2 se for isósceles e 3 se for escaleno.

32. Um número de CPF é composto por nove dígitos de base e 2 dígitos


verificadores (DVs). Escreva um programa que receba um número base de CPF
e imprima sua versão completa, com os DVs. Para gerar o DV, deve-se aplicar o
procedimento “módulo 11” duas vezes: uma no número base e em seguida
usando a base acrescida do 1o DV. Veja:
http://pt.wikipedia.org/wiki/D%C3%ADgito_verificador#M.C3.B3dulo_11.
Utilize sub-rotinas para organizar seu código.
33. Faça um programa com uma sub-rotina (função) que receba 3 valores de entrada
e retorne o maior valor entre estes três valores.

34. Faça um programa com uma sub-rotina (função) que calcule X elevado à Y =
XY . Leia 2 valores de X e Y e exiba o resultado da chamada da sub-rotina na
tela. Exemplo: 2 elevado à 3 é igual à 2*2*2 = 8.

35. Faça um programa que peça para ler 2 notas e 2 pesos (1 para cada nota) e
depois mostre: - A média aritmética simples; - A média ponderada entre os dois
valores (nota 1 com peso 1 e nota 2 com peso 2); - O valor necessário para
recuperar a pior nota e passar com média igual ou superior a 6.0 considerando o
uso da média aritmética simples (notas com pesos iguais); - O valor necessário
para recuperar a pior nota e passar com média igual ou superior a 6.0,
considerando o uso da média ponderada (nota 1 => peso 1, nota 2 => peso 2); -
Qual das duas médias (aritmética, ponderada ou tanto faz) é mais benéfica para o
aluno, ou seja, qual das duas médias deixa este aluno com a melhor nota. Faça
este programa de forma modular, ou seja, usando uma sub-rotina (função) para o
cálculo de cada tarefa descrita acima. 4. Faça uma sub-rotina “ Br_UpCase” que
dado um caracter qualquer retorne o mesmo caracter sempre em maiúsculo,
aceitando inclusive os caracteres acentuados da língua portuguesa (por exemplo:
á, é, í, ó, ú, ç, ã, õ, â, ê, ô, à, ü).

36. Faça um programa que leia uma palavra (string) e chame esta sub-rotina para
cada um dos caracteres desta palavra, exibindo o resultado após a conversão
para maiúsculo. Dicas: Letra = Palavra[X]; { Copia o caracter índice X da string
“Palavra” para a variável tipo char “Letra” } Palavra[5] = Letra; { Copia o
conteúdo da variável tipo char “Letra” para o quinto caracter da string
armazenada na variável “Palavra” } Lembre-se: A string armazenada em uma
variável pode ser menor que o tamanho reservado para ela. O final da string é
representado pelo caracter ‘\0’ (fim de string).

37. Transforme todo o programa anterior de conversão de strings com caracteres em


minúsculo para strings com caracteres em maiúsculo, em uma função. Esta
função recebe uma string de entrada e devolve a string convertida para letras
maiúsculas.

Anda mungkin juga menyukai