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

trabalho em c - ajuda

Discussão em 'Programação' iniciada por S1nnless, 26 de Novembro de 2006. (Respostas: 7; Visualizações: 845)

  1. S1nnless

    S1nnless What is folding?

    Eu tenho um trabalho para fazer para a faculdade em c. Tenho que resolver o seguinte problema:



    Podiam ajudar-me?
     
  2. SoundSurfer

    SoundSurfer Power Member

    Boas,

    Se explicares as tuas dúvidas de forma concreta, é mais fácil ajudar.
    Concerteza que ninguém te vai fazer o trabalho todo.
     
  3. S1nnless

    S1nnless What is folding?

    A minha duvida esta em implementar o ponto 3.
     
  4. Provavelmente tens os dados organizados num array certo? A Partir daí vai testando, por recursividade, que chega a esse valor. Se não encontrar, ve o valor anterior e o posterior e ver qual é a menor diferença. Em termos de funcionalidade é isto. Tenta fazer... se não conseguires, volta cá com novas dúvidas
     
  5. HecKel

    HecKel The WORM

    Sugestão: Insere os valores logo ordenadamente, numa lista ou vector ou array. Isto vai-te facilitar todas as tarefas.

    Por exemplo:
    1) Só tens de percorrer a lista e ir imprimindo os valores, a ordenação já foi feita na introdução
    2) Calculando a média só tens de encontrar o primeiro valor acima do valor da média, todos os outros são garantidamente maiores, logo é só imprimir os mesmos (se for para imprimir) ou contar (se for apenas o número de valores)
    3) Se tens ordenadamente, basta ires comparando um a um, assim que ultrapassares mais do que chegares a um valor superior já sabes que ou é aquele, ou o que está imediatamente abaixo, uma simples diferença resolve-te a questão
    4) Inseres novamente por ordem :P
    5) Acho que é evidente que esta é a única função cuja ordem não faz diferença :P

    abraços, HecKel
     
  6. MadOnion

    MadOnion Folding Member

    Heckel, introduzir os numeros 1 a 1 por ordem não é boa ideia. Existem variáveis auxiliares para isso :-D . Em que essa variável começa com o indice 0 do vector, e o valor mais próximo é uma parametro dado na função. A ideia é o utilizador introduzir os numeros aleatoriamente. Isto para responder ao ponto 3.

    O exercício parece-me simples, simplesmente em quase todas as funções ou alineas, tens que usar ciclos e if's, e uma ou duas variáveis auxiliares para o caso.

    Reporta notícias :)
     
  7. HecKel

    HecKel The WORM

    Nop, não é inserir ordenadamente..., é ir guardando logo ordenadamente no array. Mantenho o array sempre ordenado, que vai simplificar (e muito) todas as outras operações.

    abraços, HecKel
     
  8. TuxBoss

    TuxBoss Power Member

    Mais simples ainda é criar o array e utilizar o qsort()
     

Partilhar esta Página