|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.12.2013, 09:59 | #1 | |
Новичок
Джуниор
Регистрация: 16.12.2013
Сообщений: 4
|
Сложение длинных чисел
1. Выберите для представления длинных чисел подходящий тип (массив или строку). Помните, каждая из указанных структурн имеют преимущества и недостатки, которые будут влиять на реализацию алгоритмов обработки целых чисел в дальнейшем.
2. Объявите псевдоним TLong для представления типа целых чисел с числом разрядов не менее 255. В комментарии укажите, в каком порядке будут располагаться разряды длинного числа в вашем типе (в младших элементах - младшие разряды, или в младших элементах - старшие разряды). 3. Опишите процедуру инициализации переменной типа TLong: процедура должна иметь два параметра, один из которых - переменная для инициализации TLong, второй - строковое значение, которое содержит "естественную" запись длинного числа в виде последовательности цифр. Помните, что при использовании массива, следует обнулять его элементы, соответсвующие старшим разрядам длинного числа. 4. Опишите процедуру, которая осуществляет сложение двух длинных чисел. Подсказка: можно попробовать (не обязательно) использовать рекурсию - поразрядное сложение повторяющаяся регулярная операция. Не забудьте перенос в следующий разряд. 5. Опишите процедуру, которая выводит заданное длинное число на экран в "естественном" порядке. 6. Напишите программу, которая складывает длинные числа, хранящиеся в текстовом файле (количество чисел в файле неизвестно, но не менее одного).Вот числа которые находятся в файле middle.txt через ентер Цитата:
1801963029138666104740407745757. проблема в том программа выдает ошибку пишет, что индекс находится вне границ массива. и указывает на эту строчку: for i:=1 to u do s1[i]:=Chr(ch1[u-i+1]+48); Моежете помочь, как сделать что программа работала. Вот она сама. Код:
Последний раз редактировалось Stilet; 16.12.2013 в 10:45. |
|
16.12.2013, 10:39 | #2 | |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Компилятор fpc. Ошибок компиляции нет.
Содержимое текстового файла Цитата:
|
|
16.12.2013, 10:54 | #3 |
Новичок
Джуниор
Регистрация: 16.12.2013
Сообщений: 4
|
Ну так программа правильный результат не выводит. Она не работает. А прпвильный результкт при сложении вот:Результат сложения чисел в файле middle.txt
1801963029138666104740407745757 Ошибка где то аёв программе, и я найти не могу. Чтоб выдавал правильный результат. Последний раз редактировалось Snake95_95; 16.12.2013 в 10:57. |
16.12.2013, 11:58 | #4 | |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Цитата:
Код:
Сделайте так Код:
Код:
Последний раз редактировалось ZX Spectrum-128; 16.12.2013 в 12:19. |
|
16.12.2013, 12:15 | #5 |
Новичок
Джуниор
Регистрация: 16.12.2013
Сообщений: 4
|
А программа работает? Просто сейчас не начем проверить. Компа нет под рукой.
|
16.12.2013, 12:22 | #6 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Да, работает.
|
16.12.2013, 19:15 | #7 |
Новичок
Джуниор
Регистрация: 16.12.2013
Сообщений: 4
|
Спасибо. Программа работает, но выдает неверный результат. Мне нужно чтоб получился ответ:18019630291386661047404077457 57
|
16.12.2013, 19:40 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Судя по всему, у Вас "кривой" файл middle.txt
Ну, в таком случае попробуйте код (я дополнил буквально пару строк в коде ZX Spectrum-128) Код:
на всякий случай прилагаю свой middle.txt |
16.12.2013, 19:41 | #9 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Ну, а какой результат она выводит? Не такой разве?
|
16.12.2013, 19:44 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Tasm]Сложение/Умножение длинных чисел | falcon92 | Помощь студентам | 0 | 17.11.2010 15:34 |
Сложение длинных чисел C++ | LaDark | Общие вопросы C/C++ | 0 | 15.11.2010 18:56 |
Ввод длинных чисел | yukl | Помощь студентам | 1 | 18.05.2010 16:15 |
Сложение длинных чисел одного знака при помощи двунаправленных связанных списков | Povar | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 11.12.2008 14:35 |
Умножение длинных чисел | SeRhy | Помощь студентам | 1 | 28.11.2008 20:04 |