Bonsoir !
J'essaye de coder la fonction factorielle en C++ en envoyant le nombre ou le tableau représentant les chiffres composant les multiplicateurs de la factorielle.
Cependant dès que je passe par la fonction référencant, je n'arrive pas à faire compiler lorsque je passe le tableau :
Je pense que l'erreur vient de la taille du tableau que j'envoie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 error: cannot convert int (*)[nombre] to int* for argument 1 to int facto_reference(int*, size_t) resultat_facto = facto_reference(&tableauNombre,nombre);
Pouvez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <cstdlib> #include <stdio.h> using namespace std; int facto(int x){ int y=1; for (int i = 1; i< x+1; i++){ y = y*i; } return y; } int facto_reference(int *tableauEntiers, size_t taille){ int factorielle = 0; for(int i = 0; i < taille+1; ++i ) factorielle *= *( tableauEntiers + i ); cout << "la moyenne du tableau avec le formalisme pointeur est " << factorielle <<endl; } int main(){ int nombre; int resultat, resultat_facto; cout << " entrez le nombre à factorialiser : " << endl; cin >> nombre; int tableauNombre[nombre]; resultat = facto(nombre); cout << "le nombre factorialisé est : " << resultat << endl; for(int i = 0; i<nombre+1;i++){ tableauNombre[i]; } resultat_facto = facto_reference(&tableauNombre,nombre); cout << "le nombre factorialisé référencé est : " << resultat << endl; }
Partager