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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2018, 17:31   #21
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

У вас еще нет проверок на пустую строку, вы ее тоже пихаете в вектор.
p51x вне форума Ответить с цитированием
Старый 29.10.2018, 17:34   #22
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

У меня в вектор не может зайти пустая строка. Вектор состоит из структур, в каждой одно поле собственно строка, а второе - пропуск записаться, только по условию, что в новой строке чисел либо больше чем в предыдущей (сравниваются поля int), либо столько же. Т.е. пустая никак.
KAMLS вне форума Ответить с цитированием
Старый 29.10.2018, 17:35   #23
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Для входа в вектор используется промежуточная структура, вне вектора, после записи в вектор её данные обнуляются.
KAMLS вне форума Ответить с цитированием
Старый 29.10.2018, 17:43   #24
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Но самое убийственное, это почему при повторном включении программы нет такого же эффекта пустой строки?.......
KAMLS вне форума Ответить с цитированием
Старый 29.10.2018, 17:49   #25
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Поставьте точки останова на пуш_бек и посмотрите.
p51x вне форума Ответить с цитированием
Старый 30.10.2018, 07:12   #26
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

В общем среди последних ошибок дело было в проверочной строке
Цитата:
Сообщение от KAMLS Посмотреть сообщение
if (ch == '\n' || ch == '\r')
{
ch == NULL;
if (ch == '\n' || ch == '\r')
{
cout << "+" << endl;
}
cout << ch << endl;
}
Там надо было не знак условия ставить "==" а присваивания "="
Код:
ch == NULL;
Конечно такое условие отлавливать то отлавливало, но ничего не меняло.
Когда переводу строки заслон таки был поставлен, возник вопрос организовать перевод строки там где он таки нужен.
Код:
if (ch == '.')//если это точка,то она после числа с точкой, т.к. точка в числе уже проверена 
						  //или просто точка в конце предложения
			{
				str1 += ch;
				str1 += '\n';
				b = 1;
			}
Всё.
После этого всё заработало.
KAMLS вне форума Ответить с цитированием
Старый 30.10.2018, 07:15   #27
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

По интернету много чего посмотрел про очистку памяти при очистке вектора методом clear();
Причем говорят прямо противоположное. Одни что он чистит и память вместе с вектором, другие говорят что нет.
Скажите пожалуйста, как правильно зачищать вектор с одновременной зачисткой памяти?
KAMLS вне форума Ответить с цитированием
Старый 30.10.2018, 08:53   #28
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Странно, что вы не нашли ответ. Зависит от версии стандарта. До С++11 вызов clear был аналогичен соответствующему erase, в С++11 это поменяли и капасити теперь не меняется. Если хотите "ужать", то используйте шринк_ту_фит. Только идея в цикле делать шринк_ту_фит, а потом кучку пуш_беков не лучшая.
p51x вне форума Ответить с цитированием
Старый 30.10.2018, 09:19   #29
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Зависит от версии стандарта.
Наверное из за этого ответы разные..
KAMLS вне форума Ответить с цитированием
Старый 30.10.2018, 09:28   #30
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Скопировал пример по
Код:
.shrink_to_fit();
Что-то не то. Может пример не корректный?
Изображения
Тип файла: jpg кадр_32.jpg (82.5 Кб, 104 просмотров)
KAMLS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка буфера ввода консоли Anton_Jag Общие вопросы C/C++ 7 03.06.2018 20:08
очистка буфера обмена beegl Общие вопросы Delphi 21 04.01.2017 11:01
переполнение буфера freekyn Помощь студентам 3 25.04.2013 17:21
Очистка буфера клавиатуры Van-89 Паскаль, Turbo Pascal, PascalABC.NET 6 11.09.2012 19:40
Очистка буфера клавиатуры Hell Knight Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 01.03.2011 18:15