Buscar

Lista de Exercícios - Vetores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos e Lógica de Programação
Lista de Exercícios – Vetores
1. Um vetor é uma coleção de variáveis de:
( ) diferentes tipos de dados distribuídos pela memória;
( ) tipos de dados similares distribuídos pela memória;
( ) tipos de dados similares em sequência na memória;
( ) diferentes tipos de dados em sequência na memória.
2. Se um vetor é declarado como:
float precos[10];
o laço abaixo é correto para acessar todos os elementos do vetor?
for (i = 0; i <= 10; i++) {
 scanf("%f", &precos[i]);
}
3. A instrução abaixo é correta para inicializar um vetor?
int vetor = { 1, 2, 3, 4, 5 };
4. Desenvolva um programa para armazenar 15 números inteiros em um vetor e imprimir uma
listagem numerada contendo o número e umas das mensagens: par ou ímpar.
5. Desenvolva um programa para armazenar 8 números em um vetor e depois imprimir todos os
números múltiplos de 6 digitados.
6. Escreva um programa que dada uma sequência de n números inteiros, imprimi-los em ordem
inversa.
7. Criar um programa em C que leia o preço de compra e o preço de venda de 10 mercadorias usando
um vetor para cada um dos preços. O programa deverá imprimir quantas mercadorias
proporcionam:
a) Lucro < 10%
b) 10 % <= Lucro <= 20%
c) Lucro > 20%
8. Criar um programa para entrar com números inteiros em um vetor A[10]. Gerar e imprimir o vetor
B onde cada elemento é o quadrado do elemento, na respectiva posição do vetor A.
9. Criar um programa que leia os elementos de um vetor com 20 posições. Em seguida, troque o 1º
elemento pelo último, o 2º pelo penúltimo, o 3º pelo antepenúltimo, e assim sucessivamente.
Mostre o vetor depois das trocas.
10. Criar um programa em C que leia dois conjuntos de números inteiros, tendo um 10 e o outro 20
elementos, apresentar os elementos que não são comuns aos dois conjuntos.
11. Criar um programa em C que receba a temperatura média de cada mês do ano, em graus
centígrados, e armazene essas temperaturas em um vetor. Imprimir as temperaturas de todos os
meses, maior e a menor temperatura do ano e em que mês aconteceram. Suponha que não há meses
com temperaturas iguais.
1
12. Tentando descobrir se um dado era viciado, um dono de cassino o lançou n vezes. Dados os n
resultados dos lançamentos, determinar o número de ocorrências de cada face.
13. Criar um programa em C para gerenciar um sistema de reservas de mesas em uma casa de
espetáculo. A casa possui 30 mesas de 4 lugares cada. O programa deverá permitir que o usuário
escolha uma mesa (1 a 30) e forneça a quantidade de lugares desejados. O algoritmo deverá
informar se foi possível realizar a reserva e atualizar o número de lugares disponíveis. Se não for
possível, o programa deverá emitir uma mensagem. O programa deve terminar quando o usuário
digitar 0 (zero) para o número da mesa ou quando todos os 120 lugares estiverem ocupados. No
final o programa deverá exibir o número da mesa e a quantidade de lugares ocupados das mesas
com reserva e o percentual de ocupação das mesas do restaurante.
14. Dada uma sequência de n números inteiros, determinar qual é a maior subsequência crescente
nesta sequência. Por exemplo, seja n = 8, a sequência 5, 7, -1, 0 , 3, 6, 6, 4, então a maior
sequência crescente é -1, 0, 3, 6.
15. Calcular o valor do polinômio p(x) = a0x0+ a1x1 + … + anxn em k pontos distintos. São dados os
valores de n (grau do polinômio), de a0, a1, …, an (coeficientes reais do polinômio), de k e dos
pontos x1, x2, …, xk.
16. Dada uma sequência de n números reais, determinar os números que compõem a sequência e o
número de vezes que cada um deles ocorre na mesma. Por exemplo, n = 8 e a sequência -1.7, 3.0,
0.0, 1.5, 0.0, -1.7, 2.3, -1.7. A saída seria:
-1.7 ocorre 3 vezes
3.0 ocorre 1 vez
0.0 ocorre 2 vezes
1.5 ocorre 1 vez
2.3 ocorre 1 vez
17. Dados dois números naturais m e n e duas sequências ordenadas com m e n números inteiros, obter
uma única sequência ordenada contendo todos os elementos das sequências sem repetição.
18. Dadas duas sequências com n números inteiros entre 0 e 9, interpretadas como dois números
inteiros de n algarismos, calcular a sequência de números que representa a soma dos dois inteiros.
Por exemplo, n = 6
1ª sequência 8 2 4 9 0 3
2ª sequência + 3 5 6 7 1 0
Resultado 1 1 8 1 6 1 3
19. (1ª fase da Maratona de Programação 2011) A divisão de Suprimentos de Botas e Calçados do
Exército comprou um grande número de pares de botas de vários tamanhos para seus soldados. No
entanto, por uma falha de empacotamento da fábrica contratada, nem todas as caixas entregues
continham um par de botas correto, com duas botas do mesmo tamanho, uma para cada pé. O
sargento mandou que os recrutas retirassem todas as botas de todas as caixas para reembalá-las,
desta vez corretamente. 
Quando o sargento descobriu que você sabia programar, ele solicitou com a gentileza habitual que
você escrevesse um programa que, dada a lista contendo a descrição de cada bota entregue,
determina quantos pares corretos de botas poderão ser formados no total. 
Entrada 
2
A entrada contém vários casos de teste. A primeira linha de um caso de teste contém um inteiro N
indicando o número de botas individuais entregues. Cada uma das N linhas seguintes descreve uma
bota, contendo um número inteiro M e uma letra L, separados por um espaço em branco. M indica
o número do tamanho da bota e L indica o pé da bota: L = ‘D’ indica que a bota é para o pé direito,
L = ‘E’ indica que a bota é para o pé esquerdo. 
Observação: o final da entrada coincide com o final do arquivo:
while (scanf("%d", &n) != EOF) {
Saída 
Para cada caso de teste imprima uma linha contendo um único número inteiro indicando o número
total de pares corretos de botas que podem ser formados. 
Restrições 
• 2 ≤ N ≤ 104 
• N é par
• 30 ≤ M ≤ 60 
• L {∈ D, E} 
Exemplos
Exemplo de entrada
4
40 D
41 E
41 D
40 E
6
38 E
39 E
40 D
38 D
40 D
37 E
Saída para o exemplo de entrada
2
1
20. (1ª Fase da Maratona de Programação 2013) O recente terremoto em Nlogônia não chegou a
afetar muito as edificações da capital, principal epicentro do abalo. Mas os cientistas detectaram
que o principal dique de contenção teve um dano significativo na sua parte subterrânea que, se
não for consertado rapidamente, pode causar o seu desmoronamento, com a consequente
inundação de toda a capital.
O conserto deve ser feito por mergulhadores, a uma grande profundidade, em condições
extremamente difíceis e perigosas. Mas como é a sobrevivência própria cidade que está a em
jogo, seus moradores acudiram em grande número como voluntários para essa perigosa missão.
Como é tradicional em missões perigosas, cada mergulhador recebeu no início do mergulho uma
pequena placa com um número de identificação. Ao terminar o mergulho, os voluntários
devolviam a placa de identificação, colocando-a em um repositório.
O dique voltou a ser seguro, mas aparentemente alguns voluntários não voltaram do mergulho.
Você foi contratado para a penosa tarefa de, dadas as placas colocadas no repositório, determinar
quais voluntários perderam a vida salvando a cidade.
3
Entrada
A entrada é composta de duas linhas. A primeira linha contém dois inteiros N e R, indicando
respectivamente o número de voluntários que mergulhou e o número de voluntários que retornou
do mergulho. Os voluntários são identificados por números de 1 a N. A segunda linha da entrada
contém R inteiros, indicando os voluntários que retornaram do mergulho (ao menos um
voluntário retorna do mergulho).
Saída
Seu programa deve produzir uma única linha, contendo os identificadores dos voluntários que
não retornaram do mergulho, na ordem crescente de suas identificações. Deixe um espaço em
branco apóscada identificador (note que isto significa que deve haver um espaço em branco
também após o último identificador). Se todos os voluntários retornaram do mergulho, imprima
apenas o caractere ‘*’ (asterisco).
Restrições
• 1 ≤ R ≤ N ≤ 104
Exemplos
Entrada
5 3
3 1 5
Saída 
2 4 
Entrada
6 6
6 1 3 2 5 4
Saída 
*
4

Outros materiais