Рекурсивный генератор палиндрома

Мне нужно рекурсивно создать палиндром разного типа и длины. Я думаю, мне следует использовать srand для генерации чисел, а затем преобразовать их как char для палиндрома. Rbegin и rend, возможно, могут работать с изменением символов. Я действительно застрял на этом этапе, потому что я знаю, что делать в теории, но не в применении. Вот что у меня есть на данный момент:

// This is a menu-driven program that makes a function call
// for each selection the user makes.
#include <iostream>
#include <iomanip>
#include <iostream>
#include <stdlib.h>
using namespace std;

// Function prototypes
void showMenu();
void generatePalindrome();

//*****************************************************************
// Definition of function generatePalindrome.
// The function displays the palindrome
//*****************************************************************

void generatePalindrome()
{
    cout << "Generating Palindrome...";
}

int main()
{
    int choice; // To hold a menu choice

    // Constants for the menu choices
    const int digits = 1,
              upperCase = 2,
              lowerCase = 3,
              QUIT_CHOICE = 4;

    // Set up numeric output formatting.
    cout << fixed << showpoint << setprecision(2);

    do
    {
        // Display the menu and get the user's choice.
        showMenu();
        cin >> choice;

        // Validate the menu selection.
        while (choice < digits || choice > QUIT_CHOICE)
        {
            cout << "Please enter a valid menu choice: ";
            cin >> choice;
        }

        // If the user does not want to quit, proceed.
        if (choice != QUIT_CHOICE)
            switch (choice)
            {
            case digits:
                cout << "Digits";
                break;

            case upperCase:
                cout << "Upper Case";
                break;
                /* cout << static_cast<char>(number) << endl; */

            case lowerCase:
                cout << "Lower Case";
                break;
            }
        /* cout << static_cast<char>(number) << endl; */
    }

    return 0;
}

//*****************************************************************
// Definition of function showMenu which displays the menu.       *
//*****************************************************************

void showMenu()
{
    cout << "\n\t\tWelcome to the Palindrome Generator!\n\n"
         << "Choose the type of palindrome you'd like to generate from"
         << "the menu below, or choose 4 to quit the program.\n"
         << "1. Digits\n"
         << "2. Uppercase letters\n"
         << "3. Lowercase letters\n"
         << "4. Quit the Program\n\n"
         << "Enter your choice: ";
}

Я впервые задаю здесь вопрос.

«Я не могу понять, как правильно отформатировать, чтобы разместить здесь свой код». Вы можете проверить справку редактора: stackoverflow.com/editing-help#code
πάντα ῥεῖ 10.04.2021 05:29

Какой длины должны быть палиндромы? Действительно ли он должен быть рекурсивным? Вам нужно сохранить палиндром или просто распечатать его на экране?

sweenish 10.04.2021 05:32

Я не понимаю, почему это должно быть рекурсивным. Что плохого в том, чтобы просто сгенерировать случайную строку, а затем изменить ее, удалив первый символ (или нет) и вставив его вместе с оригиналом?

Layne Bernardo 10.04.2021 06:06

Длина определяется вводом пользователя, и для присвоения требовалась рекурсия. Я не успел выполнить это задание вовремя, но я все еще хочу понять, как его выполнять. [ссылка] (chegg.com/homework-help/questions-and-answers/…) <--- Это задание.

Amber Cofield 10.04.2021 06:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
38
0

Другие вопросы по теме