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

C++

Войти
Регистрация
Восстановить пароль
 
fynjysss
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 6
#1

Не получается доработать программу - C++

04.10.2014, 22:13. Просмотров 229. Ответов 0
Метки нет (Все метки)

Имеется задание:
Даны строки A и B. Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке, и удалить все символы, кроме латинских букв из A; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать рус-ские буквы в B.
Имеется программа на С++:
#include <iostream>
#include <string>
#include <algorithm>
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 << "Input A and 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);
B = erase_dublicate(B);
B = dublicate_rus(B);
}

cout << endl << "A: " << A;
cout << endl << "B: " << B << endl;

system("pause");
return 0;
}

Проблема в том что вторая часть задания не выполняется, помогите очень нужно!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2014, 22:13     Не получается доработать программу
Посмотрите здесь:

не могу закончить программу. основу (как я считаю) я написала. доработать не получается - C++
уменьшить элементы столбца на величину их индекса. вывести на экран сумму нечетных элементов в столбце. промежуточная функция: выполнить...

не получается доработать одномерный массив - C++
дан массив из 20-ти элементов,найти удвоенную сумму положительных элементов;вывести индексы тех элементов,которые больше значения...

Доработать программу - C++
Ниже рабочая программа, но надо сделать без использования циклов (кроме уже имеющегося) и функций (аля pow). Проблема в том что я не пойму...

Доработать программу - C++
Найти сумму ряда с точностью е=10^-3 ,общий член которого An = (-1)^n-1/n^n Тут надо дописать нужные библиотеки и концовку дописать ...

Доработать программу - C++
Как сюда добавить учет табуляции и переноса строки #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Доработать программу - C++
День добрый. У меня есть программа, которая удваивает каждый символ, из введенной строки. Как сделать, чтобы удвоенная пара символов...

Доработать программу - C++
Помогите доработать программу-Даны натуральное n, целые числа a1, ..., an. Внутри данной последовательности могут быть поваторяющиеся...

доработать программу - C++
что изменить в коде, чтобы значения вводились не с клавиатуры, а читались из файла или хотя бы вводились в самом коде? пробовал вводить в...

Доработать программу - C++
Здравствуйте, преподавателю не нравится как выполнена задача,жалуется на формулу и требует её сократить (о чем в задаче не упоминается) при...

доработать программу с массивами - C++
Помогите пожалуйста кое что переделать,сам не могу понять как это сделать.1-добавить в меню(при вводе должно вылезать вводить самому или...

Структуры))доработать программу - C++
Вот программа. Чуть не доделанная. Вот задание: Создать структуру, реализующую стек целых чисел типа LIFO. Данные структуры: массив...

Не могу доработать программу - C++
Вообщем такое задание :Описать структуру с именем Order, содержащую следующие поля: plat-расчетный счет плательщика, pol- расчетный счет...


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

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

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