КОМПЬЮТЕР ВЫДАЕТ ОШИБКУ: НЕЛЬЗЯ ПРЕОБРАЗОВАТЬ ТИП REAL К INTEGER В СТРОКЕ c := Xfact(n)/...

0 голосов
64 просмотров

КОМПЬЮТЕР ВЫДАЕТ ОШИБКУ: НЕЛЬЗЯ ПРЕОБРАЗОВАТЬ ТИП REAL К INTEGER В СТРОКЕ c := Xfact(n)/ Xfact(n - k)* Xfact(k); ПОМОГИТЕ ИСПРАВИТЬ
function Xfact(o:integer):integer;
var
factorial : longint;
i: integer;
begin
write('o = ');
readln(o);
factorial := 1;
for i:=2 to o do
factorial := factorial * i;
end;

var
n,k,c:real;
begin
writeln('Введите число n: ');
readln(n);
writeln('Введите число k: ');
readln(k);
c := Xfact(n)/ Xfact(n - k)* Xfact(k);
writeln('C = ',c);
end.


Информатика (226 баллов) | 64 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Измените тип переменных n и k на integer:

function Xfact(o: integer): integer;
var
  factorial: longint;
  i: integer;
begin
  write('o = ');
  readln(o);
  factorial := 1;
  for i := 2 to o do
    factorial := factorial * i;
end;

var
  c: real;
  n,k:integer;
begin
  writeln('Введите число n: ');
  readln(n);
  writeln('Введите число k: ');
  readln(k);
  c := Xfact(n) / Xfact(n - k) * Xfact(k);
  writeln('C = ', c);
end.

(13.9k баллов)
0

А ничего, что в описании функции Xfact нет присваивания Xfact(=factorial?