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

Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных - C++

Восстановить пароль Регистрация
 
Кефир
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 8
06.02.2013, 16:13     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #1
Срочно нужна помощь!
Помогите написать код, очень прощу.

Ввести с клавиатуры одномерный массив строк. Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 16:13     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных
Посмотрите здесь:

Как из масива "а" записать данные в масив "б" но в обратном порядке C++
Переставить в обратном порядке элементы одномерного массива, расположенные до первого минимального C++
Заменить 0 элементы массива на 1 и вывести массив в обратном порядке C++
C++ Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1
Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
06.02.2013, 16:27     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #2
т.е. если в строке содержится k, то перед ней все строки отсортировать в порядке, обратном алфавитному?
Кефир
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 8
06.02.2013, 16:30  [ТС]     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #3
Да, именно так
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
06.02.2013, 16:38     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <functional>
#include <cstddef>
 
typedef std::ostream_iterator<std::string> output_string;
typedef std::vector<std::string> vec_string;
 
int main()
{
    vec_string v;
    std::string tmp;
    while(std::getline(std::cin, tmp) && tmp.size() != 0)
        v.push_back(tmp);
    auto it = std::find_if(v.begin(), v.end(), [](const std::string &s)
        { return s.find('k') != std::string::npos; } );
    std::sort(v.begin(), it, std::greater<std::string>());
    std::copy(v.begin(), v.end(), output_string(std::cout, "\n") );
}
Кефир
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 8
06.02.2013, 16:40  [ТС]     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #5
Спасибо большое
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
06.02.2013, 16:45     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #6
-std=c++98
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
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <functional>
 
typedef std::ostream_iterator<std::string> output_string;
typedef std::vector<std::string> vec_string;
 
bool hasK(const std::string &s)
{
    return s.find('k') != std::string::npos;
}
 
int main()
{
    vec_string v;
    std::string tmp;
    while(std::getline(std::cin, tmp) && tmp.size() != 0)
        v.push_back(tmp);
    vec_string::iterator it = std::find_if(v.begin(), v.end(), hasK);
    std::sort(v.begin(), it, std::greater<std::string>());
    std::copy(v.begin(), v.end(), output_string(std::cout, "\n") );
}
Yandex
Объявления
06.02.2013, 16:45     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных
Ответ Создать тему
Опции темы

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