Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ALEX000
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 35
#1

Удалить ту строку в котором есть слово "нет" - C++

08.04.2014, 00:26. Просмотров 376. Ответов 11
Метки нет (Все метки)

Есть строки и нужно удалить ту строку в котором есть слово "нет". Все остальные должны оставаться без изменений.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 00:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить ту строку в котором есть слово "нет" (C++):

Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его - C++
Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его или получить строку в слова "да" и...

Массив: Удалить строку, в котором есть слово, имеющее наибольшее количество разных букв. - C++
Задание: дан двумерный массив строк, удалить рядок в котором есть слово которое имеет наибольшее количество разных букв. по порядку. ...

После каждого знака препинания (".", ",", ";") вставить в строку пробел, если там его нет - C++
Выполните задания с использованием библиотечного класса string. Даны строка S. Необходимо после каждого знака препинания (".", ",",...

Для массива из 10 чисел проверить, есть ли в нем два одинаковых числа и напечатать "да" или "нет" - C++
void check_same(const int* a) { for (const int* p = a; p < a + 9; p++) for (const int* q = p+1; q < a + 10; q++) ...

Преобразовать строку, заменяя каждое слово "this" словом "that". - C++
подскажите в чем ошибка задание:Преобразовать строку, заменяя каждое слово "this" словом "that". #include <iostream> #include...

Найти слово "ТЕКСТ", если такое слово есть,то отпечатать его номер в строке. - C++
В символьной строке, содержащей не более 80 символов, каждые два соседних слова разделены одним пробелом, строка заканчивается символом...

11
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.04.2014, 00:44 #2
C++
1
2
3
std::string strings[] = {"первая строка", "нет второй строки", "третья строка"};
std::remove_copy_if(std::begin(strings), std::end(strings), std::ostream_iterator<std::string>(std::cout, "\n"),
[](const std::string& line){return (line.find("нет") != std::string::npos);});
первая строка
третья строка
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 04:07 #3
Цитата Сообщение от Vourhey Посмотреть сообщение
первая строка
третья строка
А если, после такого удаления, так сделать?
C++
1
2
for (int i = 0; i < 3; ++i)
    cout << strings[i] << endl;
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.04.2014, 10:15 #4
Цитата Сообщение от alsav22 Посмотреть сообщение
А если, после такого удаления, так сделать?
Сделай.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 20:46 #5
Цитата Сообщение от Vourhey Посмотреть сообщение
Сделай.
Сделал, все три строки на месте. Где же удаление?
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.04.2014, 22:26 #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Сделал, все три строки на месте.
Ожидаемо.
Цитата Сообщение от alsav22 Посмотреть сообщение
Где же удаление?
Там, где ему и полагается быть - у автора в программе.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 22:33 #7
Цитата Сообщение от Vourhey Посмотреть сообщение
Там, где ему и полагается быть - у автора в программе.
Обладаете даром ясновиденья? Видите программу автора?
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.04.2014, 22:39 #8
Цитата Сообщение от alsav22 Посмотреть сообщение
Обладаете даром ясновиденья?
Не, даром забивания
Цитата Сообщение от alsav22 Посмотреть сообщение
Видите программу автора?
Лишь надеюсь, что автор поймет пример и, адаптирует его к своей задаче до полного соответствия
0
alsav22
08.04.2014, 22:47
  #9

Не по теме:

Цитата Сообщение от Vourhey Посмотреть сообщение
Лишь надеюсь, что автор поймет пример и, адаптирует его к своей задаче до полного соответствия
Если бы знать его задачу... А то непонятно, стоит ли надеяться?

0
Vourhey
08.04.2014, 22:49
  #10

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Если бы знать его задачу... А то непонятно, стоит ли надеяться?
Так пофиг же. Его проблемы

0
MegaCoder
6 / 2 / 1
Регистрация: 10.03.2014
Сообщений: 17
08.04.2014, 23:04 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Все зависит от исходных данных:
- если они вводятся во время работы проги (cin\ scan ...) то можно просто не записывать строку (в место хранения остальных строк).
- если нужно обработать уже "готовые данные", то все зависит от того, где хранятся строки. гугл подскажет как удалить.
Что касается самого алгоритма можно просто сканировать строку на букву "н", в случае "true" проверить следующий символ на "е", потом на "т", и после всех "испытаний" поставить блок удаления, это примитивный велосипедный способ, конечно, есть методы искать вхождение слова целиком, вместо посимвольного сравнения, но это уже другая история.
0
alsav22
08.04.2014, 23:32     Удалить ту строку в котором есть слово "нет"
  #12

Не по теме:

Цитата Сообщение от MegaCoder Посмотреть сообщение
Все зависит от исходных данных:
Золотые слова...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 23:32
Привет! Вот еще темы с ответами:

Найти в наборе слов то слово, в котором буква "a" встречается чаще - C++
У меня работает програма, но выводит сколько раз встречается. а не слово в котором встречается максимально раз #include &quot;stdafx.h&quot; ...

Определить первое вхождение символа "d" в строке и вывести слово, в котором оказался этот символ. - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить первое вхождение символа “d” в строке и вывести слово, в котором...

вывести на друк слово "Одинаковые" если эти массивы полностью совпадают,и слово "Разные" в противоположном случае. - C++
Создать два символьных массива по 12 элементов , и вывести на друк слово &quot;Одинаковые&quot; если эти массивы полностью совпадают,и слово &quot;Разные&quot;...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.04.2014, 23:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru