|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.03.2021, 21:40 | #1 |
Регистрация: 08.03.2021
Сообщений: 7
|
После выполнения программа выводит лишнее
Здравствуйте! Мне нужно написать программу, которая выведет на экран и в файл последовательности цифр, в которых не повторяются цифры. В файле последовательности отделены одним и более пробелов, переводом строки, каретки. В выходном файле все последовательности должны быть записаны через одиночный пробел. Проблема такова. что после выполнения программы, кроме нужной мне последовательности, в конце может выводится какое-либо число, которое не должно было выводиться вовсе.
Например, в файле содержится следующее: 5 \n76 \t77 78 9 89 00 78 12 13 1 Вывести должно: 5 76 78 9 89 78 12 13 1, а выводит: 5 76 78 9 89 78 12 13 1 1 Код:
|
09.03.2021, 08:35 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Тут (ch_deleter) наверное надо '\n' '\t' проверять а не символы n и t.
processText проглатывает повторяющиеся значения 55 77 и др. Она вообще как то странно работает. В результате в векторе у вас совсем другой набор данных чем в исходной строке. Выводить можно вот так: Код:
А затем поудаляли лишние символы из строки но счетчик почему то не трогаете. И проверяете излишнюю длину строки. И в processText зачем столько сложностей?? Вот одна единственная функция которая должна быть и которая делает все что нужно со строкой. Код:
И функции ch_duplicate и ch_deleter вообще не нужны.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. Последний раз редактировалось WorldMaster; 09.03.2021 в 09:07. |
09.03.2021, 09:50 | #3 |
Регистрация: 08.03.2021
Сообщений: 7
|
Мне нужно, чтобы выводились все числа, в которых не повторяются цифры. Поэтому process Text лишнего не проглатывает. По поводу ch_delete выправы, да, она не нужна, но повторяюсь, при данных, которые я указал в теме, программа в конце выводит лишнюю цифру. Вопрос - почему?
|
09.03.2021, 10:35 | #4 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Ну вот же ответ.
Цитата:
вначале посчитали грубо counter 44, затем удалили из него все переводы табуляторы и прочее стало грубо 40. А вы передаете в функцию все также свои 44. Ну и очевидно же что хвост захватываете который уже неактуален.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
09.03.2021, 12:09 | #5 |
Регистрация: 08.03.2021
Сообщений: 7
|
Это да, я уберу все лишние элементы и перевыделю память
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[VBScript] Скрипт не выводит результат выполнения | ichi | JavaScript, Ajax | 3 | 23.10.2018 09:47 |
[Pascal] После ввода входных данных программа ничего не выводит, хотя дальнейшие инструкции имеются. | LinaMin | Помощь студентам | 3 | 19.10.2017 19:40 |
Программа не выходит после выполнения (Язык С) | RaccoonRocket | Помощь студентам | 2 | 08.02.2016 14:13 |
TSR программа через некоторое время после запуска выводит на экран простейший графический объект, позволяя управлять им стрелками. | Custom_L.E. | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 17.05.2012 16:26 |
Окно после выполнения запроса | mortal2010 | Microsoft Office Access | 6 | 25.02.2011 13:18 |