Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2015, 16:12   #1
Окса_на
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 17
Восклицание Помогите решить задачу по Паскалю!!!

Вычитание. Получить правильную разность двух многозначных чисел (более 15 знаков)
В Турбо паскаль,вычитать из строки строку,числа идут целые,первое число, больше 2го, буквы отсутствуют.еще нужно расписать вычисление, когда ты от 320 вычитаешь 129 и от 2-ки занимаешь единицу чтобы вычесть от нуля 9!!! Если можно ответ в паскальной форме)))

Последний раз редактировалось Окса_на; 09.04.2015 в 16:43. Причина: ошибка
Окса_на вне форума Ответить с цитированием
Старый 09.04.2015, 16:19   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

Справа-налево двигаться и как в столбик считать.
Arigato вне форума Ответить с цитированием
Старый 09.04.2015, 16:27   #3
Окса_на
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Справа-налево двигаться и как в столбик считать.
Да, справа-налево, а считать как хочешь!))))
Окса_на вне форума Ответить с цитированием
Старый 09.04.2015, 17:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А я вот ниче не понял
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.04.2015, 17:06   #5
Окса_на
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А я вот ниче не понял
А, что именно?)))))))))))
Окса_на вне форума Ответить с цитированием
Старый 09.04.2015, 17:17   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А я вот ниче не понял
Виталий, всё просто.
Нужно реализовать вычитание для больших целых чисел (15 знаков) (см. "длинная арифметика"). При вычитании учесть "заём" у более старших разрядов.
Ну нужно обычное школьное вычитание в столбик реализовать.
Так понятнее?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2015, 17:22   #7
Окса_на
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Виталий, всё просто.
Нужно реализовать вычитание для больших целых чисел (15 знаков) (см. "длинная арифметика"). При вычитании учесть "заём" у более старших разрядов.
Ну нужно обычное школьное вычитание в столбик реализовать.
Так понятнее?!
А можно это все "просто" реализовать в паскалевской форме?
Окса_на вне форума Ответить с цитированием
Старый 09.04.2015, 17:32   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Так понятнее?!
Неа.
Я школу не заканчивал
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.04.2015, 17:46   #9
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Можно и поискать и самой доделать ...
Например:
http://www.cyberforum.ru/turbo-pasca...ad1061973.html
У задачи несколько вариантов решения:
- только со строками;
- с использованием массивов;
- с использованием динамической памяти, например стека;
- ...
Общая мысль:
- 1. признак заёма равен нулю;
- 2. получить правые (последние) символы цифр из исходных строк;
- 3. преобразовать в цифры;
- 4. выполнить вычитание: цифра первой строки + заём - цифра второй строки;
- 5. если результат меньше нуля, то признак заёма равен -1 и к результату добавить 10 иначе признак заёма - 0;
- 6. преобразовать цифру результата в символ и добавить в строку результата;
- 7. Продолжить алгоритм с п.2.
В алгоритме следует учесть:
- если выбраны все цифры первой строки, то закончит вычисление;
- если выбраны все цифры второй строки, то вычитаемая цифра - 0;


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 09.04.2015, 17:56   #10
Окса_на
Пользователь
 
Регистрация: 09.04.2015
Сообщений: 17
Восклицание

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Можно и поискать и самой доделать ...
Например:
http://www.cyberforum.ru/turbo-pasca...ad1061973.html
У задачи несколько вариантов решения:
- только со строками;
- с использованием массивов;
- с использованием динамической памяти, например стека;
- ...
Общая мысль:
- 1. признак заёма равен нулю;
- 2. получить правые (последние) символы цифр из исходных строк;
- 3. преобразовать в цифры;
- 4. выполнить вычитание: цифра первой строки + заём - цифра второй строки;
- 5. если результат меньше нуля, то признак заёма равен -1 и к результату добавить 10 иначе признак заёма - 0;
- 6. преобразовать цифру результата в символ и добавить в строку результата;
- 7. Продолжить алгоритм с п.2.
В алгоритме следует учесть:
- если выбраны все цифры первой строки, то закончит вычисление;
- если выбраны все цифры второй строки, то вычитаемая цифра - 0;


Как-то так, ...
Просто срочно надо,некогда искать,пожалуйста напишите в форме паскаля!За ранее благодарчик)
Окса_на вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, решить задачу по паскалю! illuzia Помощь студентам 2 14.05.2009 11:24
помогите пожалуйста решить задачу по паскалю игорек фролоff Помощь студентам 2 08.05.2009 15:01
помогите решить задачу по паскалю! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 4 06.12.2008 17:49