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

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

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

Составить палиндром - C++

23.05.2016, 07:31. Просмотров 84. Ответов 1
Метки нет (Все метки)

Дан набор слов, из которых можно составить палиндром(используя все слова). Нужно вывести этот палиндром
Помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2016, 07:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить палиндром (C++):

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

палиндром - C++
имеется 3 класса 1. проверяет является ли строка char* палиндромом 2. проверяет является ли vector<int> палиндромом 3. проверяет...

Палиндром. - C++
Все доброго времени суток. Проблема следующая. Сделал задачу, реализовал палиндром по средствам С++. Преподаватель решил придраться и...

Палиндром... - C++
Палиндром ведь это слова одинаково читающееся в обоих направениях. Помогите разобрать метод?! string palindrome(string word){ ...

Палиндром в С++ - C++
Нужно составить программу которая определяет, является ли строчка палиндромом или нет. Написал такую программу, несколько раз проводил...

Палиндром - C++
Программа находит палиндромы в файле, но не совсем правильно, а именно: проверяет на условие палиндрома только первое слово. Что нужно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Геомеханик
618 / 425 / 309
Регистрация: 26.06.2015
Сообщений: 960
23.05.2016, 19:42 #2
Цитата Сообщение от siniykot Посмотреть сообщение
Помогите
Написал простым перебором, но лучше его не воспринимать всерьёз.
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
#include <iostream>
#include <vector>
#include <string>
 
//грубым перебором составить палиндром из массива-слов
bool is_buildp(std::string& d, std::vector<std::string>& ws){
    std::vector<std::string>::size_type a, b, i, j, m;
 
    if(ws.empty())
        return false;
 
    for(j = m = 1; j != 0;){
 
        for(d = "", i = 0; i < ws.size(); ++i)
            d += ws[i];
        for(a = 0, b = d.length() - 1; a < b; ++a, --b){
            if(d[a] != d[b])
                break;
        }
        if(a >= b)
            return true;
 
        for(a = m, b = 0, j = ws.size(); j > 0; --j){
            i  = a % j;
            a /= j;
            if(i == 0)
                b += 1 - (a & 1);
            else {
                if(a & 1)
                    i = j - i;
                std::swap(ws[b - 1 + i], ws[b + i]);
                break;
            }
        }
        ++m;
    }
    d = "";
    return false;
}
 
int main(void){
    std::vector<std::string> ws;
    ws.push_back("-KAZAK-");
    ws.push_back("ABCDEF");
    ws.push_back("-XY");
    ws.push_back("FEDCBA");
    ws.push_back("YX-");
 
    std::string d;
    if(is_buildp(d, ws))
        std::cout << d << std::endl;
    else
        std::cout << "error build p!" << std::endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2016, 19:42
Привет! Вот еще темы с ответами:

Палиндром - C++
Дайте реализацию программы, определяющей является ли входная строка палиндромом, пожалуйста. Заранее спасибо.

Палиндром - C++
Здравствуйте. Пытаюсь написать программу которая проверяет является ли введёное число с клавиатуры палиндромом. Метод проверки...

Палиндром с++ - C++
Помогите, пожалуйста, написать программу: Найдите самый большой палиндром, образованный в произведение двух трехзначных чисел.

Палиндром - C++
Нужна программа которая распознает палиндром строчка, слово или нет ! Help ! 12321 ; abcba ;абв гв ба ; И мал Иван, а лупил у лип улана...


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

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

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