IPB

Здравствуйте, гость ( Вход | Регистрация )

> Паскаль
DriftKing
сообщение 11.12.2007, 21:45
Сообщение #1


Маленький Принц
Иконка группы

Группа: Почетный форумчанин
Сообщений: 2279
Регистрация: 5.1.2007
Вставить ник
Цитата
Из: Украина, Киев
Пользователь №: 3475
Страна:
Пол:



Люди, я туплю страшно. Помогите :?
Вообщем задача: Умножить два длинных числа (длинная арифметика).
Дано: Два файла: : 1я строка- длинна 1го числа;2я строка- длинная 2го числа; 3я строка- 1е число; 4я строка- 2е число.
: в нем результат умножения.
Числа заносятся в массивы. перемножаются, и со сдвигом записываются в двумерный массив. Числа с двумерного массива сумируются, и результат заносится в обычный массив. (Вообщем как в столбик, через массивы).

Воть, если что несовсем понятно - спрашивайте. А процедурка нужна поскорее. Ибо последнюю лабу могу завалить :?: :idea:
ЗЫ в инэте смотрел, то что нужно не нашел.


--------------------
Бу!

партбилет №023
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (20 - 29)
DriftKing
сообщение 13.12.2007, 15:25
Сообщение #21


Маленький Принц
Иконка группы

Группа: Почетный форумчанин
Сообщений: 2279
Регистрация: 5.1.2007
Вставить ник
Цитата
Из: Украина, Киев
Пользователь №: 3475
Страна:
Пол:



Да...этот фор - это я прижимаю число к правому краю, ибо сразу оно записывает к левому.


--------------------
Бу!

партбилет №023
Go to the top of the page
 
+Quote Post
Onami
сообщение 13.12.2007, 15:55
Сообщение #22


Старожил
*****

Группа: Форумчанин
Сообщений: 1130
Регистрация: 6.9.2005
Вставить ник
Цитата
Пользователь №: 1319
Пол:



Я так понимаю, у вас до сих пор траблы? Вот Кнут зачем писал книгу свою? Правильно, чтоб не лазили по пекабфорумам в поисках ответов!

NB: пользуйтесь лупой. 8)


По-моему, сопровождать алгоритм кодом на ЯВУ не нужно.
Go to the top of the page
 
+Quote Post
DriftKing
сообщение 13.12.2007, 16:01
Сообщение #23


Маленький Принц
Иконка группы

Группа: Почетный форумчанин
Сообщений: 2279
Регистрация: 5.1.2007
Вставить ник
Цитата
Из: Украина, Киев
Пользователь №: 3475
Страна:
Пол:



Яву? Где сдесь была ява? или я не в теме? smile.gif


--------------------
Бу!

партбилет №023
Go to the top of the page
 
+Quote Post
Onami
сообщение 13.12.2007, 16:20
Сообщение #24


Старожил
*****

Группа: Форумчанин
Сообщений: 1130
Регистрация: 6.9.2005
Вставить ник
Цитата
Пользователь №: 1319
Пол:



Яву?

Убило laugh.gif laugh.gif laugh.gif laugh.gif Валялсо laugh.gif

ЯВУ - Язык Высокого Уровня. А Java - это от лукавого.
Go to the top of the page
 
+Quote Post
FalseNegative
сообщение 13.12.2007, 16:50
Сообщение #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 и ниже - нет?.
Дебагер юзал, без толку. Увидел только где зацикливается и все. sad.gif

А Watch на k, a, a1 ставил? Нет никаких чудных изменений? (чувствую, где-то память испорчена...)

PS: неправильно такие имена переменных юзать. Ты же не говоришь Э! Ыыы. Я Тй. кртк. с. тлнт, тёщ. гон-ра. Зо оч бтр пчт мно.


--------------------
Убедясь на практике, что вся мудрость земли им постигнута, дурак принимает на себя хлопотливую и неблагодарную обязанность — учить других. Никто так много и усердно не советует, как дурак.

Тэффи.
Go to the top of the page
 
+Quote Post
FalseNegative
сообщение 13.12.2007, 16:51
Сообщение #26


Прихожанин
Иконка группы

Группа: Почетный форумчанин
Сообщений: 84
Регистрация: 8.2.2005
Вставить ник
Цитата
Пользователь №: 396
Страна:
Пол:



(Onami)
А Java - это от лукавого.

:shock: А я ей ем...


--------------------
Убедясь на практике, что вся мудрость земли им постигнута, дурак принимает на себя хлопотливую и неблагодарную обязанность — учить других. Никто так много и усердно не советует, как дурак.

Тэффи.
Go to the top of the page
 
+Quote Post
DriftKing
сообщение 13.12.2007, 22:04
Сообщение #27


Маленький Принц
Иконка группы

Группа: Почетный форумчанин
Сообщений: 2279
Регистрация: 5.1.2007
Вставить ник
Цитата
Из: Украина, Киев
Пользователь №: 3475
Страна:
Пол:



Вотч ставил. Ничего подозрительного не видел. Зацикливается в том моменте и все. Ну да ладно. Главное что при меньших работает верно.
Онами, говорю же я за последний месяц башкой поехал biggrin.gif
Волна щас одна - отметить НГ и развести свою даму на секас laugh.gif

Согласен про имена, но это глапуая привычка...и к тому же я страшный леньтяй писать лишние символы smile.gif Я тогда пока пишу имя переменной в 5-7 знаков, могу забыть что хотел в коде подправить laugh.gif


--------------------
Бу!

партбилет №023
Go to the top of the page
 
+Quote Post
Eternalko
сообщение 13.12.2007, 23:53
Сообщение #28


Избранный
*******

Группа: Форумчанин
Сообщений: 2430
Регистрация: 3.5.2006
Вставить ник
Цитата
Из: Варшава
Пользователь №: 2491
Страна:
Пол:



Проверьте мой кодsad.gif
Мне интересно, работает иль нетsad.gif
Go to the top of the page
 
+Quote Post
DriftKing
сообщение 14.12.2007, 17:18
Сообщение #29


Маленький Принц
Иконка группы

Группа: Почетный форумчанин
Сообщений: 2279
Регистрация: 5.1.2007
Вставить ник
Цитата
Из: Украина, Киев
Пользователь №: 3475
Страна:
Пол:



А ты его с головы писал? Я не пойму, колсум это что? перенос? т.е. принимает значения 0 или 1? почему цыкл пока колсум?
а еще меня эта строка смущает немного: aresult[l]:=aresult[l]+colsum mod 10;
Но помоему работать не будет из-за "while colsum do ..."


--------------------
Бу!

партбилет №023
Go to the top of the page
 
+Quote Post
Eternalko
сообщение 14.12.2007, 21:21
Сообщение #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 перебирае КАЖДЫЙ СТОЛБЕЦ. Колоннуsmile.gif colsum это ColumnSumm. Сумма чисел в каждой колонне.
Допустим она большая и равна не просто 3, а скажем 72453. Тогда мы не можем просто записать тройку а все остальное откинутьsmile.gif Надо каждый разряд отделить и отдельно дописать в след. эл-т матрицы результата

While colsum это цикл, который по разрядам толкает. Пока не растолкает(While colsum aka While colsum >0 smile.gif )Не успокоитсяsmile.gif

А че строка смущает я не знаюsmile.gif
Может так не будетsmile.gif
aresult[l]:=aresult[l]+(colsum mod 10);

Ps. в проге есть маленький жук)
Пока не правил, чтоб понятней было о чем речьsmile.gif
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия   Архив форума Сейчас: 28.7.2025, 2:15
youtube-канал об отношениях Rambler's Top100