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

С++ удаление слова из строки - C++

Восстановить пароль Регистрация
 
Makson_
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 43
27.09.2013, 00:02     С++ удаление слова из строки #1
Дана строка типа S='один два три четыре'
удалить из строки последнее слово
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 00:02     С++ удаление слова из строки
Посмотрите здесь:

C++ удаление из строки слова
C++ Строки. Удаление слова
C++ Удаление слова из строки
Удаление слова из строки C++
Удаление слова из строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
27.09.2013, 00:17     С++ удаление слова из строки #2
От можно так делать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
 
int main()
{
    string s="one tow three four";
    s=s.substr(0,s.find_last_of(" "));
    cout <<s<<endl;
 
    return 0;
}
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
27.09.2013, 00:17     С++ удаление слова из строки #3
Цитата Сообщение от Makson_ Посмотреть сообщение
Дана строка типа S='один два три четыре'
удалить из строки последнее слово
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 #include <ctime>
 using namespace std;
 int main()
 {
    setlocale(LC_ALL,"Rus");
    srand(time(NULL));
    char s[]="one two three";
    cout<<s<<"\n";
    int size=sizeof(s)/sizeof(char);
    for (int i=size-1;i>0;i--){
        if(s[i]==' ') {
            s[i]='\0';
            break;
        }
    }
    cout<<s<<"\n";
    
    system("pause");
 }
Makson_
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 43
27.09.2013, 00:23  [ТС]     С++ удаление слова из строки #4
Цитата Сообщение от newb_programmer Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 #include <ctime>
 using namespace std;
 int main()
 {
    setlocale(LC_ALL,"Rus");
    srand(time(NULL));
    char s[]="one two three";
    cout<<s<<"\n";
    int size=sizeof(s)/sizeof(char);
    for (int i=size-1;i>0;i--){
        if(s[i]==' ') {
            s[i]='\0';
            break;
        }
    }
    cout<<s<<"\n";
    
    system("pause");
 }

если я делаю ввод вручную то выводит только первое слово
setlocale(LC_ALL,"Rus");
srand(time(NULL));
char s[255];
cin>>s;
cout<<s<<"\n";
int size=sizeof(s)/sizeof(char);
for (int i=size-1;i>0;i--){
if(s[i]==' ') {
s[i]='\0';
break;
}
}
cout<<s<<"\n";
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
27.09.2013, 00:29     С++ удаление слова из строки #5
Цитата Сообщение от Makson_ Посмотреть сообщение
если я делаю ввод вручную то выводит только первое слово

cin>>s;
думаю проблема здесь- поменяйте на
C++
1
gets(s);
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
27.09.2013, 00:35     С++ удаление слова из строки #6
Цитата Сообщение от Makson_ Посмотреть сообщение
cin>>s;
Или попробуй заменить на cin.getline(s,255);
Yandex
Объявления
27.09.2013, 00:35     С++ удаление слова из строки
Ответ Создать тему
Опции темы

Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru