Números racionais - ponteiros

:!: Este projeto foi inicialmente proposto pelo prof. Marcos Castilho para a disciplina de Programação 1 (CI1001).

Este trabalho visa modificar o módulo de números racionais desenvolvido anteriormente para usar ponteiros e funções com passagem de parâmetros por referência.

Atividade

Você deve implementar um programa que manipule números racionais, que são números da forma a/b, onde a e b são números inteiros. Nesta versão, as funções que manipulam racionais usam passagem de parâmetros por referência.

Você deve baixar este arquivo e abri-lo para poder fazer o trabalho, pois irá precisar de todos os arquivos ali contidos:

No arquivo racionais.h foi definida uma estrutura (struct) para o tipo abstrato de dados racional e os protótipos das funções que permitem manipular essa estrutura. Você deve implementar essas funções no arquivo racionais.c.

Este enunciado foi produzido pelo prof. Castilho para este projeto.

Programa principal

O programa principal (tp2.c) contém a função main. Ele deve incluir o header racionais.h e implementar corretamente o seguinte pseudocódigo:

leia um n tal que 0 < n < 100
crie um vetor de n posicoes contendo numeros racionais
- os racionais devem ser inicializados com valores lidos do teclado
imprima este vetor

elimine deste vetor os elementos inválidos
imprima o vetor resultante

ordene este vetor
imprima o vetor resultante

calcule e imprima a soma de todos os elementos do vetor

retorne 0

Exemplo de funcionamento

Considerando que o usuário digitou a seguinte entrada:

15
-1 3
5 0
2 7
1 9
9 0
8 -5
-7 0
0 8
6 11
7 -17
1 0
12 36
-5 20
4 9
5 0

A saída correspondente deve ser:

-1/3 INVALIDO 2/7 1/9 INVALIDO -8/5 INVALIDO 0 6/11 -7/17 INVALIDO 1/3 -1/4 4/9 INVALIDO 
-1/3 4/9 2/7 1/9 -1/4 -8/5 1/3 0 6/11 -7/17 
-8/5 -7/17 -1/3 -1/4 0 1/9 2/7 1/3 4/9 6/11 
SOMA = -206177/235620

Entregáveis

Entregue um único arquivo tp2.tgz que contenha por sua vez os seguintes arquivos: