Dev - C++ - [Error] too many arguments to function "double factorial (int)"

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

[Error] too many arguments to function "double factorial (int)"

Publicado por Sergio Ismael (1 intervención) el 03/06/2019 10:01:40
Hola, què tal amigos?

Necesito de su ayuda, ya que soy algo nuevo en el mundillo de la programación, y tengo un error en mi código, mas no se como resolverlo, ya intente con varias cosas, aun asì no he podido.
El problema (Como en el titulo esta mencionado), trata sobre que tengo muchas variables en una linea de código, para ser mas específicos en: printf("El valor de a =%d , x=%d es = %f\n ", n, x,factorial(n, x));
El error en si es : [Error] too many arguments to function 'double factorial (int)'
Pero no logro entender el "Porque ", si no veo que este mal. Agradecería mucho que me ayuden. Por favor!!!

Mi codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
double factorial (int n);
double  taylor (int n, int x);
 
int main(){
 
    int n;
     int x;
    cout<< "Que valor le quieres dar a n y x? ... "<<endl;
    cin>>n;
    cin>>x;
 
    printf("El valor de a =%d , x=%d es = %f\n ", n, x,factorial(n, x));
 
 
    system("pause");
 
}
double  taylor (int x, int n){
double t=0;
double s=0;
 
for(int i=0; i<n; i++ ){
        t= pow(x,i) / factorial(i);
        s+=t;
    }
    return s;
}
 
double factorial(int n){
 
    double fac= 1;
    for(int i=2; i<=n; i++ ){
        fac*=1;
    }
    return fac;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 171
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

[Error] too many arguments to function 'double factorial (int)'

Publicado por juanki (73 intervenciones) el 03/06/2019 10:32:10
Hola

En el printf estás llamando a factorial con dos argumentos: factorial(n, x)

Sin embargo la función solo recibe un parámetro: double factorial (int n);

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

[Error] too many arguments to function "double factorial (int)"

Publicado por dario (718 intervenciones) el 03/06/2019 15:17:20
Hola, decide que lenguaje vas a usar C++ o C, porque veo cabeceras de C++ y C.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

[Error] too many arguments to function "double factorial (int)"

Publicado por Alfil (1444 intervenciones) el 03/06/2019 18:04:30
Te he hecho andar el programa, pero al no conocer el proposito del mismo probablemente los datos que ofrece no sean correctos, trata de adaptarlo a tus necesidades o explica el proposito del mismo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
double factorial( int n );
double taylor( int n, int x );
 
int main()
{
    int n, x;
 
    cout << "Que valor le quieres dar a n y x? ... " <<endl;
    cin >> n, x;
 
    cout << "El valor de n = " << n
         << " x = " << x
         << " Factorial = " << factorial( n )
         << endl;
 
    system("pause");
 
    return 0;
}
 
double taylor (int n, int x )
{
    double t = 0;
    double s = 0;
 
    for( int i = 0; i < n; i++ ){
        t = pow( x, i) / factorial( i );
        s += t;
    }
 
    return s;
}
 
double factorial( int n )
{
    double fac = 1;
 
    for( int i = 2; i <= n; i++ )
        fac *= i;
 
    return fac;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar