1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema de um exercício em C

Discussão em 'Programação' iniciada por joni21, 27 de Dezembro de 2012. (Respostas: 10; Visualizações: 763)

  1. Boa noite.

    Estou com um problema no programa em C.

    o programa consiste numa rede de clínicas, que armazena dados acerca de clínicas, tratamentos e utentes. No programa também é possivel marcar consultas.

    Isto significa que, para marcar consultas é necessário uma agenda, em cada clínica, com capacidade de armazenar informações da data da consulta, do utente que vai realizar a consulta e o tratamento que o utente vai realizar. todas as clinicas (que no máximo são 20) podem realizar consultas em simultâneo.

    O programa também te de armazenar informaçoes de consultas que ja foram realizadas.

    Os metodos mais simples para fazer isto são:
    1 - Fazer um vetor de memoria dinâmica que vai armazenando informações cada vez que se adiciona uma consulta;
    2 - Fazer um vetor de memoria dinamica, em que cada posição do vetor é considerado um dia, e cada posição pode armazenar varias consultas;

    Estas duas opções tem um grande problema, o tamanho dos vetores. Na opção 1, o tamanho do vetor, seria enorme e na opção 2, quando o vetor estivesse cheio, teria umas 365 posições. O programa com vetores tão grandes iria ficar lento.

    o que eu pensei foi em fazer 12 vetores ( um para cada mes) em memoria dinamica, em que cada posição seria um dia do mês e onde era possivel marcar varias consultas nesse dia.

    Este metodo permitia uma organização mais simples e penso que o programa não ficava lento, pois o mesmo numero de dados estava divididos em varios vetores.

    mas não sei se este metodo é o mais eficaz, e por isso quero saber algumas opiniões ou outros metodos mais eficazes.

    Não sei se me fiz entender totalmente (pois isto é um pouco confuso), por isso caso tenham duvidas em alguma coisa, perguntem sff.

    Cumps.
     
  2. Porque não fazes uma lista de listas? Uma lista para cada Clinica. Sempre que cada clinica tivesse uma nova consulta era adicionada à correspondente. Assim a alocagem de memória seria bem mais simples e no final para percorreres também.

    Cumprimentos
     
  3. Um programa não fica lento por ter um vector com 365 posições. Mau era se ficasse.
     
  4. ixjf

    ixjf Power Member

    Deves querer dizer "linked list"?
     
  5. O meu prof disse para não fazermos assim, pq quando o vetor tivesse cheio, aquilo podia perder dados, e começava a ficar bue lento
     
    Última edição: 29 de Dezembro de 2012
  6. Nunca ouvi falar disso.. Eu sou iniciante no mundo de programação em c. Começei a programar em Setembro, e não dei isso
     
  7. ixjf

    ixjf Power Member

  8. acho que percebi para que e que serve.. mas é melhor não me meter nisso, até porque os trabalhos tem de ser defendidos e os profs começavam logo com cenas pq não demos isso. Mas obrigado na mesmo
     
  9. ixjf

    ixjf Power Member

    Isso também não é assim...
     
  10. fireburn

    fireburn Power Member

    se souberes justificar o que fizeste e o porque nao quer dizer nada .. alias ate valoriza normalmente .. significa que tiveste trabalho e fizeste pesquisa ..
     
  11. ixjf

    ixjf Power Member

    Por acaso vocês nunca falaram em árvore binária? Estruturas?
     

Partilhar esta Página