Предмет: Информатика, автор: komradultro2015

нельзя преобразовать real к integer, все перепробовал, не могу найти ошибку

program delta;
var a,b,c,d,e:integer;

begin
writeln('Введите число');
readln(a);
c:=a;
b := 0;

while a>0 do
begin
a:= a div 10;
inc(b);
end;
d:=c-(c mod 10)-(c div exp(ln(10) * (b-1)))*(exp(ln(10) * (b-1))+(c mod 10)*(exp(ln(10) * (b-1)))+(c div exp(ln(10) * (b-1))));
writeln(d);
end.


SpitefulSpamer: Потому что функции exp() и ln() - возведение в степень и вычисление логарифма - выдают дробные числа
SpitefulSpamer: Да и так переставлять первую и последнюю цифру - это просто бред какой-то, уж извините.

Ответы

Автор ответа: Таганроглицей4
0

Ответ:

a по-идее всегда больше 0 (Т.к. integer)


komradultro2015: суть задания в том, чтобы переставить у данного числа первую и последнюю цифру местами
Таганроглицей4: сделай по-другому тогда
Таганроглицей4: введи новую переменную
komradultro2015: я уже вводил, переставлял, ставит в real, не выходит
Таганроглицей4: прировняй к ней 1 число
Таганроглицей4: потом 2 к 1
Таганроглицей4: и новую ко 2
komradultro2015: попробую
Таганроглицей4: типа 3=1 1=2 2=3
komradultro2015: не, все равно проблема real к integer
Похожие вопросы
Предмет: Математика, автор: matvijdragan484