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

Все символы, отличающиеся от букв латиницы, перенести в конец слова - C++

Восстановить пароль Регистрация
 
Влад95
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 11
18.06.2014, 18:12     Все символы, отличающиеся от букв латиницы, перенести в конец слова #1
Ввести с клавиатуры текст, состоящий из одного или нескольких слов, все символы, отличающиеся от букв латиницы, перенести в конец слова. *
Помогите написать программу, буду очень благодарен))!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 18:12     Все символы, отличающиеся от букв латиницы, перенести в конец слова
Посмотрите здесь:

[C++]Все отрицательные элементы массива перенести в начало, а все остальные - в конец C++
Напечатать все слова, отличающиеся от последнего слова C++
Перенести k букв в конец слово C++
C++ Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова
Перенести первую букву в конец слова C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 18:32     Все символы, отличающиеся от букв латиницы, перенести в конец слова #2
C++
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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm> 
using namespace std;
 
bool predicate(char a, char b)
{
    bool isA = isalpha(a);
    bool isB = isalpha(b);
    return isA && !isB;
}
 
void main(){
    setlocale(LC_ALL, "rus");
    string s = "agasg ... 19hafsfa ;' asdf";
    //cout << "Введите строку" << endl;
    //cin >> s; 
    cout << s << endl;
 
    vector<char> chars(s.begin(), s.end());
    std::stable_sort(chars.begin(), chars.end(), predicate);
    for (char c : chars)
    {
        cout << c;
    }
}
Добавлено через 2 минуты
чуть менее понятно, но короче:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <vector>
#include <algorithm> 
using namespace std;
 
void main(){
    setlocale(LC_ALL, "rus");
    string s = "agasg ... 19hafsfa ;' asdf";
    //cout << "Введите строку" << endl;
    //cin >> s; 
    cout << s << endl;
 
    vector<char> chars(s.begin(), s.end());
    std::stable_sort(chars.begin(), chars.end(), [](char a, char b){ return isalpha(a) && !isalpha(b); });
    for (char c : chars)
    {
        cout << c;
    }
}
Влад95
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 11
18.06.2014, 20:22  [ТС]     Все символы, отличающиеся от букв латиницы, перенести в конец слова #3
показывает ошибку в строчке for (char c : chars)
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 20:25     Все символы, отличающиеся от букв латиницы, перенести в конец слова #4
Влад95, хз, смотря где собираете. У меня MS VS2013 Upd2
Влад95
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 11
18.06.2014, 20:30  [ТС]     Все символы, отличающиеся от букв латиницы, перенести в конец слова #5
понял , спасибо
Yandex
Объявления
18.06.2014, 20:30     Все символы, отличающиеся от букв латиницы, перенести в конец слова
Ответ Создать тему
Опции темы

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