![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Маленький Принц ![]() Группа: Почетный форумчанин Сообщений: 2279 Регистрация: 5.1.2007 Вставить ник Цитата Из: Украина, Киев Пользователь №: 3475 Страна: ![]() Пол: ![]() ![]() |
Люди, я туплю страшно. Помогите :?
Вообщем задача: Умножить два длинных числа (длинная арифметика). Дано: Два файла: 1й: 1я строка- длинна 1го числа;2я строка- длинная 2го числа; 3я строка- 1е число; 4я строка- 2е число. 2й: в нем результат умножения. Числа заносятся в массивы. перемножаются, и со сдвигом записываются в двумерный массив. Числа с двумерного массива сумируются, и результат заносится в обычный массив. (Вообщем как в столбик, через массивы). Воть, если что несовсем понятно - спрашивайте. А процедурка нужна поскорее. Ибо последнюю лабу могу завалить :?: :idea: ЗЫ в инэте смотрел, то что нужно не нашел. -------------------- Бу!
![]() |
|
|
![]() |
![]()
Сообщение
#2
|
|
Долгожитель ![]() ![]() ![]() ![]() ![]() ![]() Группа: ЦФП РФ Сообщений: 1882 Регистрация: 5.1.2007 Вставить ник Цитата Из: Питер Пользователь №: 3471 Страна: ![]() Пол: ![]() ![]() |
(eternalko) Не знаю на каком это языке
![]() Экспромт ![]() //0.КОД И КАММЕНТЫ ЧИТАТЬ ПО ЦИФРАМ!!!! По номерам. a=new Array; //1. Создаем наш 2Д массив. По трад. будет. а getIntToArray(a);//2. Заносим туда нашу матрицу. Твоя табличка сложения funnction sum(array a) //3. Функция, которая как-бы производит сумму этого столбика:) { res=new Array; //4.Это наш результат. Будущий) ВАЖНО! Пишу задом наперед!!!! См. каммент №16 int tmp; //5.Для помощи. Тут храниться сумма одного столбика int k=0,l=0; //6. Доп. переменные. К. счетчик. for(i=a.getLenght;i>0;i--) //7. "Ставим" "себя" в прав. угол. a.getLenght это ДЛИННА массива. Просто число! { while(tmp) //11.Пока тмп больше "0". Будем записывать число за числом из результата нашего столбца в массив. Десяток за десятком { l=k; //12. Тут l будет нашим счетчиком чтоб не k "портить". res[l]=+tmp % 10; //13. Записывам(добавляем) еще один десяток l++; //14. увеличиваем, чтоб след. десяток. добавить.... tmp=tmp/10; //15. уменьшаем tmp на 10. На посл. цифру котор. занесли в результат. } k++; //16. увелич. счетчик эл-та рез-та. for(j=a.getHeight;j>0;j--) //8. Теперь в нижн. прав. угол. { tmp+=a[j][i]; //9. Снизу(!) вверх суммируем ВСЕ числа. Сумма столбика:) } } return reverse(res);//17. Возвращаем наш результат. Вот он супер массив число. Только надо обернуть его, чтоб правильно записалось:) } sum(a);^_0 это С -------------------- Плодитесь, коровы, жизнь коротка!
Майор ЦФП РФ №013 |
|
|
![]() ![]() |
![]() |
Текстовая версия Архив форума | Сейчас: 27.7.2025, 11:36 |
![]() |
![]() |