elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: AYUDA !!! Programa calcula raices n-esimas en: 24 Febrero 2013, 01:22 am
Sí, así tb me compila, declarando las variables fuera del main. Ya me funciona el programa. Muchas gracias  ;D
2  Programación / Programación C/C++ / Re: AYUDA !!! Programa calcula raices n-esimas en: 24 Febrero 2013, 01:07 am
Si compilo el programa inicial del post desde la terminal y añadiendo la librería matemática me funciona, muchas gracias por la ayuda!  :D
3  Programación / Programación C/C++ / Re: AYUDA !!! Programa calcula raices n-esimas en: 24 Febrero 2013, 00:58 am
¿Has añadido el parámetro -lm al compilar?

Creo que no, voy a ver
4  Programación / Programación C/C++ / Re: AYUDA !!! Programa calcula raices n-esimas en: 24 Febrero 2013, 00:57 am

int main(int na, char *arg[])
{   
      double v;
      double n;
   
   
    if (na < 3) {
        fprintf(stderr, "Introduce radicando y número\n"
               "Así: \n"
               "\t%s <radicando> <numero>\n"
               "\n\ny yo te daré su raiz enésima \n\n"
                ,arg[0]);
              exit(-1);
       return (-1);
   }

   

   v = atof(arg[2]);
   n = atof(arg[1]);
   
    if (v<= 0)
    {
       fprintf(stderr, "El número debe ser positivo.\n");
       exit(-1);
    }
     if (n<= 1)
    {
       fprintf(stderr, "El radicando debe ser mayor de 1.\n");
       exit(-1);
    }





double pow(double x, double n);




double f(double x)
{
   double v;
    double n;

   return pow(x, n)-v;              //Función cuya raíz busco

}

double Df(double x)
{
     
     double n;
    return n*(pow(x, (n-1)));           //Derivada de la función f(x)
}



double newton(double semilla, double tolerancia)
{
   double x1, x2;
   double dif;

   x1 = semilla;
   do {
      x2 = x1 - f(x1)/Df(x1);
      dif = fabs(x2-x1);
      x1 = x2;
   } while (dif > x2*tolerancia);

   return x1;


   double raiz = newton(1.0, 1e-9);
   printf("La raíz enésima es %17.12f\n",raiz );


   return 0;
}

Ahora sólo me marca este error

"nraices.c:87: error: expected declaration or statement at end of input" Por los dos corchetes que tengo en rojo
5  Programación / Programación C/C++ / AYUDA !!! Programa calcula raices n-esimas en: 24 Febrero 2013, 00:18 am
//      nraices.c
//

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


int main(int na, char *arg[])
{
   double v;
   double n;
      
   
    if (na < 3) {
        fprintf(stderr, "Introduce radicando y número\n"
               "Así: \n"
               "\t%s <radicando> <numero>\n"
               "\n\ny yo te daré su raiz enésima \n\n"

                ,arg[0]);
              exit(-1);
       return (-1);
   }

    v = atof(arg[2]);
    n = atof(arg[1]);


    if (v<= 0)
    {
       fprintf(stderr, "El número debe ser positivo.\n");
       exit(-1);
    }
     if (n<= 1)
    {
       fprintf(stderr, "El radicando debe ser mayor de 1.\n");
       exit(-1);
    }


double pow(double x, double n);


double f(double x)
{
   
   return pow(x, n)-v;              //Función cuya raíz busco

}

double Df(double x)
{
    
    return n*(pow(x, (n-1)));           //Derivada de la función f(x)

}


double newton(double semilla, double tolerancia)
{
   double x1, x2;
   double dif;

   x1 = semilla;
   do {
      x2 = x1 - f(x1)/Df(x1);
      dif = fabs(x2-x1);
      x1 = x2;
   } while (dif > x2*tolerancia);

   return x1;
}

   double raiz = newton(1.0, 1e-9);
   printf("La raíz enésima es %17.12f\n",raiz );


   return 0;
}
________________________________

Tengo que hacer un programa que calcule raices n-ésimas pero no logro que me compile, los errores que me da el compilador de geany son :
" /tmp/ccYhZhGT.o: In function `f.3225':
nraices.c:(.text+0x23): undefined reference to `pow' "
" /tmp/ccYhZhGT.o: In function `Df.3228':
nraices.c:(.text+0x184): undefined reference to `pow' "


collect2: ld returned 1 exit status

Espero que podáis ayudarme, ya que a mí no se me ocurre nada--
Gracias
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines