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
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"svp aidez moi a le resoudre merci
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. }
Partager