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

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

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

Из строки вырезать слова, стоящие на четном месте - C++

02.03.2014, 12:50. Просмотров 352. Ответов 5
Метки нет (Все метки)

Из строки вырезать слова, стоящие на четном месте.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 12:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из строки вырезать слова, стоящие на четном месте (C++):

Вырезать из строки слова - C++
С наступающим, господа :) Есть стринговская строка без знаков препинания с неопределенным количеством слов Необходимо вырезать из...

В массиве из 16 элементов найти минимальный элемент, расположенный на четном месте - C++
Всем привет=) Помогите с прогой пож.: В массиве из 16 элементов найти минимальный элемент, расположенный на четном месте: Вот...

Как определить на четном или нечетном месте стоит цифра в числе? - C++
Как определить на четном или нечетном месте стоит цифра в числе? Не могу понять как определить это, если убирать по одной цифре в конце в...

Строки (В строке переставить местами рядом стоящие слова) - C++
Задача: В строке переставить местами рядом стоящие слова. Помогите сделать через 3 строки, именно через 3. Т.е. берется 1 слово и...

Поменять местами слова строки стоящие на четных и нечетных позициях - C++
Нужна помощь в лабораторной. Для корифеев задачка простая, но для меня...х)) Написать программу, которая меняет местами слова введенной с...

На печать вывести слова, стоящие на нечетных местах и имеющие длину больше длины предпоследнего слова - C++
Доброго времени суток, уважаемые форумчане. Мне нужна программа выполняющая следующие условия: "Ввести строку. На печать вывести слова,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
02.03.2014, 14:02 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <algorithm>
 
int main()
{
    std::ifstream fin("input.txt");
    std::string str{std::istreambuf_iterator<char>(fin), std::istreambuf_iterator<char>()};
    int i = 1;
    auto newend = remove_if(str.begin(), str.end(), [&i](char c){
        if (c == ' ')
            ++i;
        return !(i & 1);});
    str.erase(newend, str.end());
    std::cout << str;
    return 0;
}
0
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
02.03.2014, 14:07 #3
Две строки. Одна с предложением, другая пустая. Считываем пробелы - одно слово, затем пробел, допустим к счетчику прибавили единичку. Делаем проверку - если счетчик не четный, то пишем в новую строку текущее слово, снова дошли до пробела, снова +1 к счетчику. Четное? Значит пропускаем и т.д.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от d1skort Посмотреть сообщение
std::string str{std::istreambuf_iterator<char>(fin), std::istreambuf_iterator<char>()};
* * int i = 1;
* * auto newend = remove_if(str.begin(), str.end(), [&i](char c){
* * * * if (c == ' ')
* * * * * * ++i;
* * * * return !(i & 1);});
* * str.erase(newend, str.end());
Если человек пишет в тему для начинающих, не факт, что он знает все итераторы и прочие erase, remove_if. Если Вам не трудно, распишите что делает каждая функция.
За частую такие задания встречаются в лабах, а там такого функционала не требуется.

1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.03.2014, 14:14 #4
d1skort, зачем читать посимвольно, а потом делить на строки по пробелу, если можно сразу читать по словам?
1
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
02.03.2014, 14:20 #5
«Я не волшебник, я только учусь» (с)
Не могу додуматься как это сделать, если читать по строкам.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.03.2014, 14:37 #6
d1skort,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <iterator>
#include <string>
 
int main() {
 
    for( auto it=++std::istream_iterator<std::string>(std::cin); it!=std::istream_iterator<std::string>(); std::advance(it,2) )
    {
        std::cout << *it << " ";
    }
    std::cout << std::endl;
    
    return 0;
}
http://ideone.com/faWsyM
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 14:37
Привет! Вот еще темы с ответами:

Вводится строка. Вывести слова стоящие на нечетных местах и имеющие длину больше длины предпоследнего слова. - C++
#include&lt;fstream.h&gt; #include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt; void main() { int i,j,n,k,i1,l;...

вырезать числа из строки - C++
Доброго времени суток! По rs-232 с контроллера присылается строка вида &quot;a1111b2222c3333d4444y&quot; Каждому a,b,c,d соответсвует число...

Заполнить матрицу так, чтобы элемент в нечетной строке был равен номеру столбца, а в четном — номеру строки - C++
Помогите пожалуйста решить задачу. Заполнить целочисленную квадратную матрицу 10х10 так, чтобы каждый элемент в нечетной строке равен...

Удалить из слова буквы, стоящие на четных местах - C++
как удалить из слова буквы,стоящие на четных местах??заранее благодарен.


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

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

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