Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
MaXaH
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 2
1

Упорядочить символы строки в порядке, обратном к алфавитному

07.02.2019, 20:13. Просмотров 504. Ответов 3
Метки нет (Все метки)

Приветствую , условие задачи : "Необходимо создать и заполнить строки с клавиатуры ,если строки состоят из одних и тех же символов, то удалить из B латинские и русские буквы; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному"...Пока смог наклепать только это , но работает некорректно:
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
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <windows.h>
#include <string>
 
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    string a,b;
        cout << "Введите строку А : ";
    getline(cin,a);
    cout << "Введите строку B : ";
    getline(cin,b);
    
    cout << "А : " << a << endl;
    cout << "B : " << b << endl;
        
        if (a == b) 
    {
        for (int i = 0; i < b.size();i++) 
        {
            if (((b[i] >= 'a') && (b[i] <= 'z')) || ((b[i] >= 'A') && (b[i] <= 'Z')))
            {
                b.erase(i, 1); 
            }
        }
        cout << "B : " << b << endl;
        
    }
 
        system("pause");
    return 0;
 
 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2019, 20:13
Ответы с готовыми решениями:

Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в порядке, обратном к алфавитном
Привет, форумчане! Дано задание: &gt;Даны строки A и B. Если в A есть символы из B и в B нет...

Записать студента в ведомость и вывести ее в порядке, обратном алфавитному
Само задание: Один метод должен в новой ведомости размещать студентов в порядке, противоположном...

Рекурсия. Символы строки в обратном порядке
Помогите пожалуйста решить задачу: дана символьная строка. Не используя циклы, реализовать...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить...

Записать символы текстовой строки в обратном порядке
Подскажите как это сделать Записать символы текстовой строки в обратном порядке. Найти...

3
ReDoX
439 / 327 / 170
Регистрация: 01.07.2015
Сообщений: 1,162
07.02.2019, 20:43 2
Цитата Сообщение от MaXaH Посмотреть сообщение
упорядочить символы A в порядке, обратном к алфавитному
Если символы располагаются по алфавиту в таблице, то так:

C++
1
2
3
sort(a.begin(), a.end(), [](const auto& a, const auto& b) { return a > b; });
// или greater, точно не помню, как пишется
sort(a.begin(), a.end(), greater<char>());
1
MaXaH
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 2
08.02.2019, 03:17  [ТС] 3
Само задание полностью выглядит так : "через одну пустую строку предлагает ввести строку A (ввод осуществляется нажатием клавиши Enter), а затем строку В. После этого необходимо вывести обработанные строки. Если строки состоят из одних и тех же символов, то удалить из B латинские и русские буквы; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному" P.S подключение других библиотек не рассматривается

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
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <windows.h>
#include <string>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    string a,b;
    cout << "Введите строку А : ";
    getline(cin,a);
    cout << "Введите строку B : ";
    getline(cin,b);
 
    cout << "А : " << a << endl;
    cout << "B : " << b << endl;
 
    if (a == b) 
    {
        for (int unsigned i = 0; i < b.size();i++) 
        {
            char ch = b[i];
            if ((((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'))) || (((ch >= 'а') && (ch <= 'я')) || ((ch >= 'А') && (ch <= 'Я'))))
            {
                b.erase(i, 1);
                --i;
            }
 
        }
        cout << "B : " << b << endl;
    }
    else 
    {
        /*Тут как раз не могу реализовать сортировку символов строки А в 
         обратном алфавитному порядке*/
    }
    system("pause");
    return 0;
}
0
SomniPhobia
352 / 256 / 101
Регистрация: 22.11.2017
Сообщений: 707
08.02.2019, 10:30 4
Цитата Сообщение от ReDoX Посмотреть сообщение
// или greater, точно не помню, как пишется
sort(a.begin(), a.end(), greater<char>());
Как вариант можно пустым оставить шаблон greater<T>().
C++
1
2
3
string a = "sdawdcasiue";
sort(a.begin(), a.end(), greater<>());
cout << a << endl;
0
08.02.2019, 10:30
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2019, 10:30

Строки, символы. вычислить, сколько раз встречается каждый символ в обоих строках, вывести второе слово второй строки в обратном порядке
Пусть даны две строки и два символа. Необходимо определить длину каждой строки, вычислить, сколько...

Работа с текстовым файлом (записать в файл строки и символы в строках в обратном порядке)
Всем привет. Извиняюсь может повторяюсь с задачей, но все же... Задача: Дан txt файл с парой...

Вывести в порядке обратном алфавитному по одному разу все строчные буквы, входящие в первую строку, но не во вторую.
Даны две строки. Вывести в порядке обратном алфавитному по одному разу все строчные буквы, входящие...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.