![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Люди, я туплю страшно. Помогите :?
Вообщем задача: Умножить два длинных числа (длинная арифметика). Дано: Два файла: 1й: 1я строка- длинна 1го числа;2я строка- длинная 2го числа; 3я строка- 1е число; 4я строка- 2е число. 2й: в нем результат умножения. Числа заносятся в массивы. перемножаются, и со сдвигом записываются в двумерный массив. Числа с двумерного массива сумируются, и результат заносится в обычный массив. (Вообщем как в столбик, через массивы). Воть, если что несовсем понятно - спрашивайте. А процедурка нужна поскорее. Ибо последнюю лабу могу завалить :?: :idea: ЗЫ в инэте смотрел, то что нужно не нашел. -------------------- Бу!
![]() |
|
|
![]() |
![]()
Сообщение
#21
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Да...этот фор - это я прижимаю число к правому краю, ибо сразу оно записывает к левому.
-------------------- Бу!
![]() |
|
|
![]()
Сообщение
#22
|
|
![]() Старожил ![]() ![]() ![]() ![]() ![]() Группа: Форумчанин Сообщений: 1130 Регистрация: 6.9.2005 Вставить ник Цитата Пользователь №: 1319 Пол: ![]() ![]() |
Я так понимаю, у вас до сих пор траблы? Вот Кнут зачем писал книгу свою? Правильно, чтоб не лазили по пекабфорумам в поисках ответов!
NB: пользуйтесь лупой. 8) ![]() По-моему, сопровождать алгоритм кодом на ЯВУ не нужно. |
|
|
![]()
Сообщение
#23
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Яву? Где сдесь была ява? или я не в теме?
![]() -------------------- Бу!
![]() |
|
|
![]()
Сообщение
#24
|
|
![]() Старожил ![]() ![]() ![]() ![]() ![]() Группа: Форумчанин Сообщений: 1130 Регистрация: 6.9.2005 Вставить ник Цитата Пользователь №: 1319 Пол: ![]() ![]() |
Яву?
Убило ![]() ![]() ![]() ![]() ![]() ЯВУ - Язык Высокого Уровня. А Java - это от лукавого. |
|
|
![]()
Сообщение
#25
|
|
Прихожанин ![]() Группа: Почетный форумчанин Сообщений: 84 Регистрация: 8.2.2005 Вставить ник Цитата Пользователь №: 396 Страна: ![]() Пол: ![]() ![]() |
(DriftKing) FalseNegative, да при го_он 1=0 тоже все работает. Но проблемы не решает. Прога как висла так и виснет, когда массив стает >20 знаков. И зацикливается именно этот фор:
for k:= 1 to max do begin a[max-i+k]:= a1[k]; a1[k]:= 0; end; Почему оно зацикливается при массиве с максим. кол-вом елементов 20 и выше, а при 10 и ниже - нет?. Дебагер юзал, без толку. Увидел только где зацикливается и все. ![]() А Watch на k, a, a1 ставил? Нет никаких чудных изменений? (чувствую, где-то память испорчена...) PS: неправильно такие имена переменных юзать. Ты же не говоришь Э! Ыыы. Я Тй. кртк. с. тлнт, тёщ. гон-ра. Зо оч бтр пчт мно. -------------------- Убедясь на практике, что вся мудрость земли им постигнута, дурак принимает на себя хлопотливую и неблагодарную обязанность — учить других. Никто так много и усердно не советует, как дурак.
Тэффи. |
|
|
![]()
Сообщение
#26
|
|
Прихожанин ![]() Группа: Почетный форумчанин Сообщений: 84 Регистрация: 8.2.2005 Вставить ник Цитата Пользователь №: 396 Страна: ![]() Пол: ![]() ![]() |
(Onami) А Java - это от лукавого.
:shock: А я ей ем... -------------------- Убедясь на практике, что вся мудрость земли им постигнута, дурак принимает на себя хлопотливую и неблагодарную обязанность — учить других. Никто так много и усердно не советует, как дурак.
Тэффи. |
|
|
![]()
Сообщение
#27
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Вотч ставил. Ничего подозрительного не видел. Зацикливается в том моменте и все. Ну да ладно. Главное что при меньших работает верно.
Онами, говорю же я за последний месяц башкой поехал ![]() Волна щас одна - отметить НГ и развести свою даму на секас ![]() Согласен про имена, но это глапуая привычка...и к тому же я страшный леньтяй писать лишние символы ![]() ![]() -------------------- Бу!
![]() |
|
|
![]()
Сообщение
#28
|
|
![]() Избранный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Форумчанин Сообщений: 2430 Регистрация: 3.5.2006 Вставить ник Цитата Из: Варшава Пользователь №: 2491 Страна: ![]() Пол: ![]() ![]() |
Проверьте мой код
![]() Мне интересно, работает иль нет ![]() |
|
|
![]()
Сообщение
#29
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
А ты его с головы писал? Я не пойму, колсум это что? перенос? т.е. принимает значения 0 или 1? почему цыкл пока колсум?
а еще меня эта строка смущает немного: aresult[l]:=aresult[l]+colsum mod 10; Но помоему работать не будет из-за "while colsum do ..." -------------------- Бу!
![]() |
|
|
![]()
Сообщение
#30
|
|
![]() Избранный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Форумчанин Сообщений: 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. в проге есть маленький жук) Пока не правил, чтоб понятней было о чем речь ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия Архив форума | Сейчас: 28.7.2025, 2:15 |
![]() |
![]() |