IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Деление двух длинных чисел, как реализовать с помощью объектов в Delphi?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


В FAQ'е (длинная арифметика) нашла функции для деления двух длинных чисел. Можете объяснить, как реализовать это в Delphi, желательно как объекты? Заранее спасибо. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Спасибо!!!
Цитата
А можно, я за нее?

Конечно smile.gif

Я правильно дабовила?
type
Tlong=array[0 .. _maxdig]of integer;
Plong=^Tlong;

TObj = object
Constructor Init;
Destructor Done;

Function HugeToStr: String; // вот тут?

procedure ReadLong(var f:text);
procedure WriteLong(var f:text);

...

private
X: PLong;
end;

procedure Fact(Var A: TObj; n: LongInt); // и вот тут?


Все компилируется, но при работе выдает ошибку "Нарушение прав доступа в адресе 00402fc8 в модуле 'uchebnik.exe'. Напишите из адреса 00000000'." и выделяет эту строку (модуль HugeObj я удалила из проекта):
procedure TForm12.Button2Click(Sender: TObject);
var n: longint;
per: TObj;
begin
if edit4.text='' then
begin
MessageBeep(MB_ICONHAND);
ShowMessage('Не заданы значения!');
end
else
begin
memo1.Text:='';
n:=StrToInt(edit4.Text);
if n>524 then ShowMessage('Невозможно вычислить для данного числа! Приносим свои извинения.')
else
begin
Fact(per, n);
memo1.Text:=per.HugeToStr; //эту
end;
end;
end;


Я опять сделала что-то неправильно?

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
serogan   Деление двух длинных чисел   2.02.2007 22:11
volvo   Здесь: Длинная арифметика что, НЕ объекты? Вот ту…   2.02.2007 23:48
Гость   Но в Hugeobj только умножение :unsure: , деления …   3.02.2007 3:42
volvo   деления нет (оно есть выше, но вроде не через объе…   3.02.2007 7:05
Айра   Мне тоже нужно это деление. Я нашла в DRKB модуль,…   3.02.2007 4:38
volvo   Давай по-порядку: 1) "почему" - потому, …   3.02.2007 4:53
Айра   Спасибо, volvo! Все откомпилировалось.   3.02.2007 5:10
Айра   volvo, мне кажется, вы уже поняли, кто был гостем …   3.02.2007 7:47
volvo   Естественно, у меня IP адреса перед глазами :) В …   3.02.2007 8:27
Айра   Это я поняла. Но расширение in я встретила впервы…   3.02.2007 8:37
volvo   Я создавао обычный текстовый файл, и потом переиме…   3.02.2007 8:56
Айра   А я так делала. При работе программы был просто ч…   3.02.2007 9:01
Айра   Еще раз спасибо! До свидания. Утро уже как ни …   3.02.2007 9:07
volvo   1) Как называются у тебя входной/выходной файл? 2)…   3.02.2007 9:06
Айра   Входной я назвала d1.text, а выходной - d.text. А …   3.02.2007 15:27
volvo   Нет... Просто я что-то не так портировал. Исходная…   3.02.2007 18:14
volvo   Да, так и есть... Модуль, строка №242 - …   3.02.2007 18:31
Айра   Спасибо! Я исправила. Теперь у меня такой во…   4.02.2007 4:12
volvo   Убрать использование TLargeInt и пользоваться толь…   4.02.2007 13:39
Айра   Буду пользоваться dlinna. Было бы неплохо. Я пыт…   4.02.2007 18:41
volvo   Это - не метод объекта, просто процедура, описанна…   4.02.2007 19:08
Айра   Спасибо!!! Конечно :) Я правильно…   4.02.2007 20:14
volvo   :yes2: Забыла инициализировать переменную Per...…   4.02.2007 20:25
Айра   :wink: :unsure: Сделала процедуру с делением.…   5.02.2007 1:05
volvo   Добавить строку в Fact: { A := n! } procedure…   5.02.2007 1:24
Айра   volvo, спасибо тебе огромное!!! :give…   5.02.2007 2:35


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 20:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name