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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Кефир
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 8
#1

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

06.02.2013, 16:13. Просмотров 377. Ответов 5
Метки нет (Все метки)

Срочно нужна помощь!
Помогите написать код, очень прощу.

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

C++ Заменить в последовательности символов после первого вхождения символа "+" все цифры на символ "-"
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++
Ненулевые элементы массива расположить в обратном порядке C++
C++ Класс "Массив". Вывести его элементы в следующем порядке: A1, AN, A2, AN–1, A3,AN–2,....
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?
C++ Как в обратном порядке выстроить элементы побочной диагонали массива и вывести весь массив?
C++ Определить длину данной строки и количество букв "а" в ней. Вывести имя в обратном порядке
C++ Расположить элементы массива в обратном порядке, что не так

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
06.02.2013, 16:27     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #2
т.е. если в строке содержится k, то перед ней все строки отсортировать в порядке, обратном алфавитному?
Кефир
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 8
06.02.2013, 16:30  [ТС]     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных #3
Да, именно так
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
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     Расположить элементы массива, лежащие до первого символа "к", в порядке, обратном алфавитному, и вывести на печать отсортирванный массив данных
Ответ Создать тему
Опции темы

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