![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Люди, я туплю страшно. Помогите :?
Вообщем задача: Умножить два длинных числа (длинная арифметика). Дано: Два файла: 1й: 1я строка- длинна 1го числа;2я строка- длинная 2го числа; 3я строка- 1е число; 4я строка- 2е число. 2й: в нем результат умножения. Числа заносятся в массивы. перемножаются, и со сдвигом записываются в двумерный массив. Числа с двумерного массива сумируются, и результат заносится в обычный массив. (Вообщем как в столбик, через массивы). Воть, если что несовсем понятно - спрашивайте. А процедурка нужна поскорее. Ибо последнюю лабу могу завалить :?: :idea: ЗЫ в инэте смотрел, то что нужно не нашел. -------------------- Бу!
![]() |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Избранный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Форумчанин Сообщений: 2430 Регистрация: 3.5.2006 Вставить ник Цитата Из: Варшава Пользователь №: 2491 Страна: ![]() Пол: ![]() ![]() |
(DriftKing) А ты его с головы писал? Я не пойму, колсум это что? перенос? т.е. принимает значения 0 или 1? почему цыкл пока колсум?
а еще меня эта строка смущает немного: aresult[l]:=aresult[l]+colsum mod 10; Но помоему работать не будет из-за "while colsum do ..." Да. С головы. Это первая прогаа паскале :oops: Можеет так понятней будет program arraysum; var tosum: array [1..100,1..100] of Integer; actualwidth,actualheight,colsum,k,l: Integer; aresult: array [1..100] of Integer; begin for i := actualwidth downto 1 do begin for j:= actualheight downto 1 do begin colsum:=colsum+tosum[j,i]; end; while colsum do begin l:=k; aresult[l]:=aresult[l]+colsum mod 10; colsum:=colsum div 10 l:=l+1; end; k:=k+1; end; end; Внешний for который идет по i перебирае КАЖДЫЙ СТОЛБЕЦ. Колонну ![]() Допустим она большая и равна не просто 3, а скажем 72453. Тогда мы не можем просто записать тройку а все остальное откинуть ![]() While colsum это цикл, который по разрядам толкает. Пока не растолкает(While colsum aka While colsum >0 ![]() ![]() А че строка смущает я не знаю ![]() Может так не будет ![]() aresult[l]:=aresult[l]+(colsum mod 10); Ps. в проге есть маленький жук) Пока не правил, чтоб понятней было о чем речь ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия Архив форума | Сейчас: 26.7.2025, 20:06 |
![]() |
![]() |