Baixe o app para aproveitar ainda mais
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
Compartilhar