Помощь - Поиск - Пользователи - Календарь
Полная версия: реализовать операцию деления
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
nilson
Реализовать операцию деления целых чисел m и n с точностью k десятичных знаков после запятой, где k произвольное фиксированное число..
Lapp
Цитата(nilson @ 24.01.2009 19:39) *
где k произвольное фиксированное число..
Есть хоть какие-то ограничения на сами числа и на k?
nilson
ограничений вроде нет... у меня программа, только в ней какая то ошибка.
program zad26;
var a,b,k,i:integer;
c,des: Real;
znak:boolean;
writeln('Vvedite a,b');
readln(a,b);
writeln('vvedite tochnost');
readln(k);

writeln;
write('otvet: ');

if(a*b<0) then znak:=true;
a:=abs(a);
b:=abs(b);

if (a>=b) then c:=a div b else c:=0;

des:=0.1;
a:=a mod b;
for i:=1 to k do
begin
a:=a*10;
c:=c+(a div b)*des;
des:=des/10;
a:=a mod b;
end;
if znak then c:=c*(-1);
writeln(c:20:k);
readln;
end.


Тегами пользуемся...
Mnogosisa_pravda_ona
nilson, так всё же работает.Только не понятно надо делить m на n или n на m.
volvo
Цитата
так всё же работает
Чтобы все работало, надо как минимум добавить пропущенный begin.
Mnogosisa_pravda_ona
Цитата(volvo @ 25.01.2009 17:14) *

Чтобы все работало, надо как минимум добавить пропущенный begin.

А может он не про эту ошибку говорил?
Вообще не понятно, по идее эта строчка должна работать
Код
if (a>=b) then c:=a div b else c:=0;
если ввести число в а меньше b ,то он должен обнулить ответ,но он этого не делает.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.