![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Люди, я туплю страшно. Помогите :?
Вообщем задача: Умножить два длинных числа (длинная арифметика). Дано: Два файла: 1й: 1я строка- длинна 1го числа;2я строка- длинная 2го числа; 3я строка- 1е число; 4я строка- 2е число. 2й: в нем результат умножения. Числа заносятся в массивы. перемножаются, и со сдвигом записываются в двумерный массив. Числа с двумерного массива сумируются, и результат заносится в обычный массив. (Вообщем как в столбик, через массивы). Воть, если что несовсем понятно - спрашивайте. А процедурка нужна поскорее. Ибо последнюю лабу могу завалить :?: :idea: ЗЫ в инэте смотрел, то что нужно не нашел. -------------------- Бу!
![]() |
|
|
![]() |
![]()
Сообщение
#2
|
|
Прихожанин ![]() Группа: Почетный форумчанин Сообщений: 84 Регистрация: 8.2.2005 Вставить ник Цитата Пользователь №: 396 Страна: ![]() Пол: ![]() ![]() |
или вам ещё перенос нужен? т.е.
19 19 -- 38 а не 19 19 -- 2(18)? тады так: program arraysum; var tosum: array [1...100,1..100] of Integer; //Как вариант, - array [] of 0..9; actualwidth,actualheight,resultwidth,cnt,carry: Integer; aresult: array [1..100] of Integer; go_on:boolean; begin //читаем исходный массив. for i := 1 to actualwidth do begin aresult := 0; //ВАЖНО! В Паскале нет автоинициализации! for j := 1 to actualheight do begin aresult[i]:=aresult[i]+tosum[i,j]; end; end; go_on:=true;// или наоборот? cnt:=1; carry:=0; while go_on do begin aresult[cnt]:=aresult[cnt]+carry; carry:=aresult[cnt] div 10; aresult[cnt]:=aresult[cnt] mod 10; cnt:=cnt+1; go_on:=NOT (carry=0 AND aresult[cnt]=0);//Тьху, надо NOT исправил. end; resultwidth:=cnt-1;// //выводим результатъ end. -------------------- Убедясь на практике, что вся мудрость земли им постигнута, дурак принимает на себя хлопотливую и неблагодарную обязанность — учить других. Никто так много и усердно не советует, как дурак.
Тэффи. |
|
|
![]() ![]() |
![]() |
Текстовая версия Архив форума | Сейчас: 26.7.2025, 12:30 |
![]() |
![]() |