0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 1
1

Преобразовать и упорядочить две заданные строки соглано условию

07.07.2016, 20:38. Показов 487. Ответов 0
Метки нет (Все метки)

Здравствуйте, помогите, пожалуйста, кто-нибудь с заданием. Нужно создать программу:

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

Заранее спасибо.

Добавлено через 5 часов 16 минут
Есть код, но с ним не работает 2 часть программы.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <algorithm>
#include <Windows.h>
using namespace std;
 
const string end_chars = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
const string rus_chars = "ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
 
string erase_dublicate(string text)
{
    unique(text.begin(), text.end());
    return text;
}
 
bool have_dublicate(const string& text)
{
    string copy_text = erase_dublicate(text);;
    return copy_text.length() != text.length();
}
 
bool is_Achars_in_Bchars(const string& textA, const string& textB)
{
    for (int i = 0; i < textB.length(); i++)
    {
        if (textA.find(textB[i]) != string::npos)
            return true;
    }
    return false;
}
 
string erase_all_exclude_latin(const string& text)
{
    string erased_text = "";
    for (int i = 0; i < text.length(); i++)
    {
        if (end_chars.find(text[i]) != string::npos)
            erased_text.append(1, text[i]);
    }
    return erased_text;
}
 
string dublicate_rus(const string& text)
{
    string new_text = "";
    for (int i = 0; i < text.length(); i++)
    {
        new_text.append(1, text[i]);
        if (rus_chars.find(text[i]) != string::npos)
            new_text.append(1, text[i]);
    }
    return new_text;
}
 
string SortAlpha(string text)
{
    sort(text.begin(), text.end());
    return text;
}
 
string SortReverseAlpha(const string& text)
{
    string sorted_text = SortAlpha(text);
    reverse(sorted_text.begin(), sorted_text.end());
    return sorted_text;
}
 
int main()
{
    string A, B;
    cout << "BBEDUTE A u B: " << endl;
    cin >> A >> B;
 
    if (is_Achars_in_Bchars(A, B) && !have_dublicate(B))
    {
        B = SortAlpha(B);
        A = erase_all_exclude_latin(A);
    }
    else
    {
        A = SortReverseAlpha(A);
        A = erase_dublicate(A);
        B = dublicate_rus(B);
    }
 
    cout << endl << "A: " << A;
    cout << endl << "B: " << B << endl;
 
    system("pause");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 20:38
Ответы с готовыми решениями:

Преобразовать заданные строки, согласно условию (сортировка и сравнение строк, вставка/удаление символов)
Даны строки A и B. Если все символы A входят в B и в B есть повторяющиеся символы, то упорядочить...

Скопировать и конкатенировать (объединить) заданные строки согласно условию
Скопируйте строку А в строку В строку К в строку Т, объедините.

Обменять местами две заданные строки матрицы
Написать на С++. Дан двумерный числовой массив. Составить программу обмена местами заданных двух...

Поменять местами две заданные строки матрицы
С++. Дан двумерный числовой массив. Составить программу обмена местами заданных двух его строк.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2016, 20:38
Помогаю со студенческими работами здесь

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

Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов
Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её...

Даны две строки, преобразовать их в числа и посчитать значение выражения
Даны две строки с1 и с2, содержащие до 5 цифр каждая. Преобразовать их к данным целого типа,...

Преобразовать числа в две строки, объединить их в одну строку и вывести на экран результат
ввести 2 целых числа.преобразовать числа в две строки,объединить их в одну строку и вывести на...

Преобразовать две строки к данным целого типа без применения функций преобразования текста в число
Даны две строки a и b, содержащие до 5 цифр каждая. Преобразовать их к данным целого типа без...

Найти две такие точки, чтобы две окружности с центрами в точках удовлетворяли условию
есть такая задача, которую сейчас думаю как решить: 4) Дано множество точек на плоскости. Найти две...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru