Je viens de faire un programme qui calcule la combinaison.
Le calcul est juste mais l'affichage et toujours égal à 0.
SVP aidez-moi à le corriger :

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
program combinison ;
uses wincrt;
var
x,n,p:integer;
function fact(x:integer):longint;
var
s,i:longint;
begin
s:=1;
	for i := 1 to x do
	begin
s:=s*i
	end;
fact:=s;
end;
procedure lecture(var n:integer;var p:integer);
begin
	repeat
writeln('donnes le nombre d objet');
readln(n) ;
writeln('donnes le nomre d objet à tiré');
readln(p);
	until (n >= p) and (p >=1)  ;
end;
procedure combini (n:integer;p:integer);
	var
A:integer;
c,k,v:longint;
	begin
c:= fact(n);
v:=fact(n-p);
k:=c*v;
A:=c div k ;
writeln('le nombre de tirage est:   ',A);
end;
begin
lecture(n,p);
combini(n,p);
end.