Uma moradia é constituída por várias
divisões. Uma divisão é representada pelo seu
nome, a sua dimensão e pelo andar da moradia em que ela se
situa.
Primeiro, concretize uma função que recebe uma
moradia e um número inteiro x e devolve as divisões da
moradia cujo número de andar é igual a x.
Segundo, realize uma nova função, utilizando a
anterior, que recebe uma moradia, e escreve para cada andar a
área ocupada pelas divisões do andar. Na
resolução deste exercício, tenha em conta que uma
moradia é representada não só pelas suas
divisões como também pelo número de
divisões e de andares que a compõem.
Concretize o tipo de dados lista de inteiros. Tendo em conta
este tipo de dados, construa uma função que recebe um
ponteiro para o início de uma lista de inteiros e devolve o
valor médio dos inteiros guardados na lista.
Considerando o mesmo tipo de dados, construa uma
função iterativa que devolve o elemento maior de uma
lista de inteiros recebido como argumento da função.
Resolva o problema anterior utilizando uma função
recursiva.
Concretize uma função que insere um elemento no
fim da lista. Esta função recebe o número inteiro
a guardar na lista e o ponteiro para o início da lista.
Concretize uma função que liberta toda a
memória associada a uma lista de inteiros. Esta
função recebe a lista a libertar.
Realize um programa que pede ao utilizador para inserir
números inteiros, os quais deverão ser guardados numa
lista. A inserção de números termina quando o
utilizador escrever o número -1. De seguida, o programa deve
calcular e escrever no stdout a média dos valores inseridos, o
maior número e de seguida libertar a memória associada
à lista de inteiros. Nota: Deve utilizar as
funções desenvolvidas anteriormente.
Resolva o problema da alínea 2 desenvolvendo uma função
recursiva.