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

Решение задач со строками - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Johny_Ken
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 3
26.06.2012, 21:19     Решение задач со строками #1
1 задача: дана строка со словами, разделенными пробелами. Удалить все слова, начинающиеся на гласную букву. Решить нужно желательно используя библиотеки <string.h> и <stdio.h>.
2 задача: дана строка со словами, разделенными пробелами. Отсортировать слова в строке в лексикографическом порядке(по алфавиту) тоже используя библиотеки <string.h> и <stdio.h>.
Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2012, 21:19     Решение задач со строками
Посмотрите здесь:

Решение задач С++ C++
C++ решение задач С++
Решение задач С++ C++
Решение задач C++
C++ Решение задач с Си++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.06.2012, 21:30     Решение задач со строками #2
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 <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string str;
    std::cout << ">>";
    std::getline(std::cin, str, '\n');
    std::stringstream stream(str);
    std::vector<std::string> vec((std::istream_iterator<std::string>(stream)),
        (std::istream_iterator<std::string>()));
    std::sort(vec.begin(), vec.end());
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    std::cout << std::endl;
    system("pause");
}
Johny_Ken
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 3
26.06.2012, 22:03  [ТС]     Решение задач со строками #3
Петррр, спасибо большое, всё работает, сейчас буду разбираться)
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.06.2012, 22:13     Решение задач со строками #4
1
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
28
29
30
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <cctype>
#include <vector>
 
bool startsWithVowel(const std::string& str)
{
    const char * vowels = "AEIOUY";
    char ch = *str.begin();
    return strchr(vowels, toupper(ch));
}
 
int main()
{
    std::string str;
    std::cout << ">>";
    std::getline(std::cin, str, '\n');
    std::stringstream stream(str);
    std::vector<std::string> vec((std::istream_iterator<std::string>(stream)),
        (std::istream_iterator<std::string>()));
    vec.erase(std::remove_if(vec.begin(), vec.end(), startsWithVowel),
        vec.end());
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    std::cout << std::endl;
    system("pause");
    return 0;
}
Johny_Ken
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 3
26.06.2012, 22:19  [ТС]     Решение задач со строками #5
пока просматривал код на глупые ошибки перед тем как постить, решил попробовать кое что поправить и заработало)
Спасибо за уделенное внимание
Yandex
Объявления
26.06.2012, 22:19     Решение задач со строками
Ответ Создать тему
Опции темы

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