Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удаление чётных слов в строке / 7 сообщений из 7, страница 1 из 1
17.06.2014, 22:27
    #38672402
Ivan123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
Ребята помогите пожалуйста решить задачку: Надо удалить все четные слова из строки.....буду очень вам благодарен преждевременно
...
Рейтинг: 0 / 0
17.06.2014, 22:44
    #38672409
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
И с чем у тебя возникла проблема? Не можешь определить какое слово - чётное? Подсказываю:
второе, четвёртое, шестое и восьмое.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.06.2014, 22:48
    #38672413
Ivan123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
Dimitry Sibiryakov,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    int beg, end;
    char text[255];
    cout<<"Enter text(less than 255 chars)\n";
    cin.getline(text,1024);
    for(int i = 0, iWord = 0; i < strlen(text); i++)
    {
        if(text[i] == ' ')
        {
            beg = i;
            i++;
            while(text[i] != ' ')
                i++;
            iWord++;
            end = i;
            if((iWord - 1) % 2 == 0)
            if(strcpy(&text[beg], &text[end]))
                text[strlen(text) - (end - beg)] = '\0';
            i -= 2;
        }
    }
    cout<<"String after removing odd words\n";
    cout<<text<<endl;
    system("pause");//Для кодблокс нужен ещё #include <cstdlib>
    return 0;
}


вот этот код работает, только он удаляет все и оставляет только первое слово, не могу понять в чем проблема его
...
Рейтинг: 0 / 0
18.06.2014, 00:30
    #38672448
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
Ivan123вот этот код работает, только он удаляет все и оставляет только первое слово, не могу понять в чем проблема егоБерешь бумажку. Выписываешь на нее все переменные.
Потом идешь по своей программе и меняешь значения переменных на бумажке.
Очень помогает понять в чем проблема.

Особо продвинутые люди используют для этих целей различные дебагеры, но это только для продвинутых людей.

odd - нечетное. В словарь заглядывать полезно.
...
Рейтинг: 0 / 0
18.06.2014, 01:35
    #38672463
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
И зачем хранить начало и конец в индексах ? не проще ли хранить адреса.
...
Рейтинг: 0 / 0
18.06.2014, 01:59
    #38672469
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
SashaMercuryне проще ли хранить адреса.
Проще вообще ничего не хранить. Примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
bool OddWord = true;
char* p=text;
const char* q = text;
while (*q)
{
   if (*q == ' ') OddWord = !OddWord;
   if (OddWord) *p++ = *q;
   q++;
}
*p = '\0';


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.06.2014, 15:24
    #38673109
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление чётных слов в строке
Ivan123, по смыслу задача заключается в том чтобы считать пробелы и фильровать/нефильтровать выхлоп.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удаление чётных слов в строке / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]