Bonjour à tous!
Voici si joint un exercice qui me menace énormément.
Je voudrais svp que vous puissiez m'aider à le résooudre.
Merci d'avance
Nom : exo3.PNG
Affichages : 172
Taille : 35,0 Ko

edit:

je ne m'y connais pas trop et en meme temps je veux bien etre aidé. je vais vous poser mon probleme
mon exercice demande:
Écrire un programme pour calculerC n k qui n’utilise aucune boucle (ni while ni for), et qui n’ait
comme seule fonction que la fonction main. La fonction main ne doit contenir aucun appel à
elle-même.On pourra utiliser des fichiers textes temporaires dans le répertoire /tmp.

j ai eu quelque indication pour le resoudre et voici ce qu'on m'a proposé mais je suis tjrs bloque dans l ecriture du code.
Une manière de le résoudre serait d'écrire un programme qui se rappelle lui-même (le programme exécutable se rappelle lui même, pas la fonction main()).

Un exemple en pseudo-code serait :

Le programme CNK.c attend deux arguments sur sa ligne de commande "n" et "k"
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
int main(int argc, char * argv[])
{
int n, k;
int c1, c2;
 
lire (avec sscanf()) n qui se trouve dans argv[1]
... idem avec k dans argv[2]
 
si k vaut zéro ou k vaut n
écrire 1 sur la sortie standard
quitter
 
// Calculer C(n-1)(k)
Appeler (avec system()) notre propre fichier exécutable (argv[0])
en lui passant sur sa ligne de commande n-1 et k
et en redirigeant sa sortie standard (avec '>') dans /tmp/result.txt
 
Lire le résultat dans /tmp/result.txt et le placer dans c1
 
// Calculer C(n-1)(k-1) de la même manière
Lire le résultat dans /tmp/result.txt et le placer dans c2
 
Écrire le résultat c1+c2 sur notre sortie standard.
 
}
svp aidez moi a le resoudre merci