Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Declarar una función

Estas en el tema de Declarar una función en el foro de C/C++ en Foros del Web. Hola! Soy bastante nuevo en programación. Una cosa, si yo quiero declarar una función, por ejemplo Cita: double (f)( double x ) { return cos(0.28*x)-sin((1.0-0.28)*x))-0.2*cos(1.91*x)-0.2*cos((3.0-1.91)*x)+3.0; ...
  #1 (permalink)  
Antiguo 22/06/2012, 11:47
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
Declarar una función

Hola! Soy bastante nuevo en programación.
Una cosa, si yo quiero declarar una función, por ejemplo

Cita:
double (f)( double x )
{
return cos(0.28*x)-sin((1.0-0.28)*x))-0.2*cos(1.91*x)-0.2*cos((3.0-1.91)*x)+3.0;
}
... estaría bien o mal?
  #2 (permalink)  
Antiguo 22/06/2012, 12:50
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Declarar una función

Buenas,

El nombre de la función tiene que ir sin paréntesis, por lo demás, todo parece que está bien (aunque te sobrea un paréntesis en la función sin.


Código C:
Ver original
  1. double f(double x)
  2. {
  3. return cos(0.28*x)-sin((1.0-0.28)*x)-0.2*cos(1.91*x)-0.2*cos((3.0-1.91)*x)+3.0;
  4. }
  #3 (permalink)  
Antiguo 22/06/2012, 12:53
 
Fecha de Ingreso: junio-2012
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Declarar una función

Estaría correcto pero te sobra un paréntesis en el primer seno.

Aquí te le dejo arreglado:

#include <math.h>

double f(double x)
{
double y=0.0;
y=cos(0.28*x)-sin((1.0-0.28)*x)-0.2*cos(1.91*x)-0.2*cos((3.0-1.91)*x)+3.0;
return y;
}

Para hacer la prueba me basto con agregarle:

int _tmain(int argc, _TCHAR* argv[])
{
double x,y;
x=2.0;
y=f(x);
printf("%d",y);
getchar ();

return 0;
}

Espero que eso resuelva tu duda, sino estoy abierto a sugerencias. Un saludo.

Última edición por Joca1; 22/06/2012 a las 12:54 Razón: equivocacion del 2º al 1º seno

Etiquetas: declarar, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:37.