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

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

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

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

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

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

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

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

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

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

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

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

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

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

Палиндром - C++
Здравствуйте! Наткнулся на такую задачу. Дана строка и нужно посчитать сколько палиндрома можно из нее сделать. Например: ввод: ababc ...

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

Минимальный палиндром на с++ - C++

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Геомеханик
550 / 357 / 266
Регистрация: 26.06.2015
Сообщений: 816
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;
}
Yandex
Объявления
23.05.2016, 19:42     Составить палиндром
Ответ Создать тему
Опции темы

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