Помогите решить задачу по СИ [требует правки]

261
16 июля 2017, 12:11

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

Есть мысли как ее решить?

Answer 1

Раз можно на С++ (тэг говорит, что можно):

#include <string>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <functional>
using namespace std;
bool hasDouble(string s)
{
    sort(s.begin(),s.end());
    return unique(s.begin(),s.end()) != s.end();
}
int main()
{
    string a, b;
    cout << "a: ";
    getline(cin,a);
    cout << "b: ";
    getline(cin,b);
    if (hasDouble(a) && !hasDouble(b))
    {
        sort(b.begin(),b.end());
        a.erase(remove_if(a.begin(),a.end(),[](char x){ return isalpha(x); }),a.end());
    }
    else
    {
        sort(b.begin(),b.end(),greater<char>());
        b.erase(unique(b.begin(),b.end()),b.end());
        string s;
        for(auto c: a)
        {
            s += c;
            if (b.find(c) == string::npos) s += c;
        }
        a = s;
    }
    cout << endl;
    cout << "a: " << a << endl;
    cout << "b: " << b << endl;
}
READ ALSO
Ошибка в CMake в CLion с подключением библиотеки

Ошибка в CMake в CLion с подключением библиотеки

Не удается подключить библиотеку zlib к проекту

316
Заполнить нулями без memset и ZeroMemory (C++)

Заполнить нулями без memset и ZeroMemory (C++)

Добрый вечер! Необходимо реализовать полностью без CRT

307
Проблемы с Visual Studio

Проблемы с Visual Studio

Учился раньше на NetBeansРешил попробовать один из самых известных компиляторов

333
undefined reference to `__imp_WSAStartup&#39;

undefined reference to `__imp_WSAStartup'

Что нужно добавить в CMakeList чтобы подключить Ws2_32lib?

286