|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
массивы уравниваются без команды, сами по себе
Пишу программу для работы с большими числами.Создал спец тип format. В него переконвертирую большие числа, а потом работаю с этими массивами(сложение, вычитание)
PHP код:
в ходе программы выполняется цикл, где PHP код:
В общем, последовательно слагаю ячейки массивов. Если в получившейся ячейке массива first число не пятизначное, то я отсекаю от него лишние числа и эти отсечки складываю их со след ячейкой first (т.е. по принципу сложения в столбик). ПРОБЛЕМА: когда складываю один раз, то все нормально. Но когда ставлю цикл, где число складывается само с собой, получается новое число, его я складываю с самим собой, и т.д .По сути делаю возведение числа 2 в степень 64. до числа 262144 все идет норм. но когда складываю 262144+262144 получается не 524288, а 624288. когда выполняется PHP код:
PHP код:
|
#2
|
|||
|
|||
не усложнял бы и сделал сложение строк
по одному символу с конца в начало перебераешь и в новую строку добавляеш, одну переменную оставь для числа в уме и хорошобы отдельной процедурой\функцией этот щас слишком запутаный где setlength наверно надо и dlina_first менять sample непонятно что такое а по теме когда передаеш параметр как var он передается указателем и когда summ(a, a) то и first и second указывают на одно место Последний раз редактировалось Pyro, 19.07.2011 в 17:44. |
#3
|
|||
|
|||
Цитата:
да, кстати, забыл исправить sample на 100000 |
#4
|
|||
|
|||
Цитата:
Код:
if i=dlina_first-1 then //если некуда добавлять,то begin setlength(first,dlina_first+1);//создаем новую ячейку массива first[j+1]:=0; // не забыть обнулить end; |