![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
![]()
Здравствуйте
Нужна ваша помощь Создал программу, но работает одна ну слииишком долго Дан файл с разбросанными по нему числами, числа могут быть до 10^18. Нужно вывести в выходной файл сумму цифр всех тех чисел в обратном порядке. longint не вмещает 10^18, поэтому воспользовался строками Читал каждую строку файла, искал там числа, когда находил, считал сумму и кидал в массив Вышло следующее Код:
Почему так? Последний раз редактировалось dimon_snake; 20.12.2016 в 14:40. |
![]() |
![]() |
![]() |
#2 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
int64 не устраивает?
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
![]()
А в паскале такое есть?
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]()
а зачем нам вообще числа ЕСЛИ нужны нам исключительно ЦИФРЫ (то бишь ОТДЕЛЬНЫЕ символы строки из заданного и фиксированного множества).
Цитата:
Код:
или надо ВКЛЮЧАТЬ другие кодировки чисел ($0ABCFF), а КАКИЕ цифры тогда надо считать?
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.12.2016 в 15:18. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
dimon_snake, какой у Вас Паскаль?
Почему в программе задан массив на 10000 элементов, в файле не может быть больше чисел? Есть ограничения? Приведите точную формулировку задания. и дайте пример входного файла (запаковать в архив, потом на сайте - Расширенный режим, управление вложениями, прикрепить файл). |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Похоже, нужно сначала сумму последнего числа, потом сумму предпоследнего и т.д.
Читай файл не как текстовый, а как типизированный типа char, например. Или можно как бинарный открыть. Это позволит читать файл с конца, что избавит от необходимости хранить суммы в массиве (можно сразу писать результат в выходной файл). Если символ не цифра, то читаем файл дальше (идём ближе к началу), если цифра, то Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
![]()
вы, наверное, не так поняли
нужно сначала найти сумму цифр каждого числа допустим дан файл с числами 1 2 12 34 нужно вывести суммы в обратном порядке -> 7 3 2 1 |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.11.2015
Сообщений: 167
|
![]()
free pascal 2.6.4
а 10000 стоит, потому что... размер заданного файла не превышает 512 Кб Я не знал, сколько одно число весит, но думаю, там вряд ли будет больше 10000 чисел |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.12.2016 в 15:44. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очень долгая загрузка страницы | usa-1500 | PHP | 5 | 09.02.2014 15:14 |
Долгая прорисовка DBGridEh | Dozent | Компоненты Delphi | 0 | 02.08.2013 17:07 |
Долгая загрузка системы | Дмитрий-1 | Компьютерное железо | 13 | 24.05.2013 12:29 |
Долгая загрузка программы | Tulc | Помощь студентам | 4 | 20.11.2011 14:24 |
Долгая загрузка Windows XP sp3 | DJ HITMAN | Windows | 14 | 04.09.2010 00:49 |