Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Principiante em C

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Principiante em C

    Ola galera, por favor me ajudem nessa questão:

    Saiba que o valor aproximado da raiz quadrada de um número real N qualquer pode ser calculado tão precisamente quanto se queira conforme segue:
    R0 = N; R1 = (R0 + N / R0) / 2; R2 = (R1 + N / R1) / 2; R3 = (R2 + N / R2) / 2; …
    Em outras palavras, o primeiro termo da seqüência vale N; todos os demais termos podem ser obtidos pela soma do termo anterior da seqüência com N dividido pelo termo anterior da seqüência.
    Faça um programa em C que solicita a digitação de um número real, calcula pelo método acima exposto sua raiz quadrada, escrevendo-a na tela.
    Naturalmente não poderemos calcular todos os infinitos termos da série acima. Seu programa deverá limitar-se aos 1000 primeiro termos. :P :|

    Obrigado gente.

  • Font Size
    #2
    Já faz tempo que o tópico foi postado, mas mesmo assim vou responder:

    #include <stdio.h>

    int main()
    {
    double n;

    printf("Insira um número real: \n");
    scanf("%lf", &n);

    double raiz = n;
    int count = 0;

    for (count = 0; count < 1000; count++)
    {
    raiz = (raiz + (n/raiz))/2;
    }

    printf("raiz de %g = %g",n, raiz);
    return 0;
    }

    Comment


    • Font Size
      #3
      Esqueci de dizer, se você estiver usando windows, antes do return 0 coloca getchar(); só pra manter o terminal aberto

      Comment


      • Font Size
        #4
        o getchar(); n esta funcionado aqui quando aperto enter o terminal fecha

        Comment


        • Font Size
          #5
          Tenta colocar 2 getchar(), um atras do outro. O seu problema deve ser a tecla ENTER (que fica no buffer depois de você digitar o número). Assim com 2 getchar() o primeiro ia retirar o ENTER do buffer e o segundo ia ficar a espera da próxima tecla. Avisa se funcionar.
          “Finalmente encontrei um inimigo digno de mim e uma jornada em que preciso desenvolver toda a minha coragem, pois temos de combater homens bravos e monstruosas feras.”, Alexandre, o Grande.

          Comment


          • Font Size
            #6
            se os 2 getchar() não derem certo, antes de int main() coloca #include <stdlib.h> e antes do return 0 coloca system ("PAUSE");

            Comment


            • Font Size
              #7
              boas, segue o código corrigido:

              #include <stdio.h>
              #include <stdlib.h>
              int main()
              {
              double n;

              printf("Insira um numero real: \n");
              scanf("%lf", &n);

              double raiz = n;
              int count = 0;

              for (count = 0; count < 1000; count++)
              {
              raiz = (raiz + (n/raiz))/2;
              }

              printf("raiz de %g = %g",n, raiz);
              printf("\n");

              system("pause");
              return 0;
              }

              Cumprimentos,
              Dark_pt

              Comment

              X
              Working...
              X