Algoritmos e Estrutura de Dados I - AE22CP - 2013/2

Bruno César Ribas

Exercícios

  1. http://br.spoj.com/problems/PEDAGIO1/

  2. http://br.spoj.com/problems/TRILHAS/

  3. http://br.spoj.com/problems/CONTA1/

  4. http://br.spoj.com/problems/TROCCARD/

  5. http://br.spoj.com/problems/CIRCUITO/

  6. http://br.spoj.com/problems/COFRE/

  7. (desafio) http://br.spoj.com/problems/APAGA/

  8. Gomercindo e Polinômios
  9. Crie a função copia que recebe como parâmetro duas listas, sendo uma delas vazia e copia todos os elementos da primeira lista para a segunda. A lista origem está desordenada e deve assim permanecer.

  10. Altere a função do exercício anterior para copiar os elementos mas caso existam elementos repetidos na lista de origem, estes serão copiados apenas uma vez. A lista origem está desordenada.

  11. Crie uma função chamada diferença, que recebe duas listas e mostra na tela os elementos que diferem entre as listas L1 L2.

  12. Crie uma função recursiva que mostre o conteúdo de uma lista ao contrário: L1 = 23, 45, 12, 0, 9 deve mostrar 9, 0, 12, 45, 23. Não é permitido utilizar outras estruturas de dados.

  13. O que é Algoritmo?

  14. Crie uma função NÃO recursiva que mostre o conteúdo de uma lista ao contrário: L1 = 23, 45, 12, 0, 9 deve mostrar 9, 0, 12, 45, 23.

  15. Crie uma função que varre uma lista de números inteiros e diz se ela está ordenada ou não. Além disse, deve dizer se está ordenada em ordem crescente ou decrescente.

  16. Cria uma estrutura lista para armazenar os n pontos de um polígono. Crie as funções:
    • inicializa()
    • insere_pontos_na_lista()
    • calcula_perimetro_poligono()

      Exemplo de entrada:
        4
        2 2
        4 4
        6 2
        4 0
      
      Saida Para o exemplo acima:
        11.313708
      
  17. http://br.spoj.com/problems/EXPRES11/

  18. http://br.spoj.com/problems/BIT/

  19. http://br.spoj.com/problems/VIVO/

  20. http://br.spoj.com/problems/OBIPOKER/

  21. Equilibrio do Mundo
  22. Suponha que queremos decidir se uma dada sequência de parênteses e colchetes está bem-formada (ou seja, parênteses e colchetes são fechados na ordem inversa àquela em que foram abertos). Por exemplo, a primeira das sequências abaixo está bem-formada enquanto a segunda não está.

      Primeira cadeia - ( ( ) [ ( ) ] )
      Segunda cadeia - ( [ ) ]
    

    Suponha que a sequência de parênteses e colchetes está armazenada em uma cadeia de caracteres (string) s. Como é hábito em C, o último caractere da cadeia é o caractere nulo.

    Escreva a função int bem_formada ( char *string ) que retorna 1 se a string está bem formada, senão retorna 0.

  23. lista3.pdf

  24. http://br.spoj.com/problems/FEYNMAN/

--
Last Modified: Tue Nov 5 11:26:57 2013.