Вопрос задан 24.06.2023 в 05:43. Предмет Информатика. Спрашивает Прохоров Илья.

Решить только на С++ Совпадающие начало и конецДана строка. Требуется найти самую длинную её

подстроку, у которой совпадает первый и последний символы. Если подходит несколько подстрок, то выведите любую из них.Входные данныеНа вход подаётся одна строка из строчных латинских букв длиной не более 100 символов.Выходные данныеВыведите ответ на задачу.ПримерыВводmisisabВыводisia
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Пахомов Даниил.

Ответ:

удачи с сириусом, мужичек, спи сладко, а еще звезд очки необязательные, но если решаешь - красава, уважаю)

#include <iostream>

#include <cctype>

using namespace std ;

int main()

{

string s;

int l = 0, r = 0;

getline(cin, s);

for (int i = 0; i < s.size(); i++) {

int j = s.rfind(s[i]);

if (j - i > r - l) {

l = i;

r = j;

}

}

cout << s.substr(l, r - l + 1);

}

Объяснение:

удачи в сириусе

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот пример решения на C++:

cpp
#include <iostream> #include <string> std::string findLongestMatchingSubstring(const std::string& s) { int maxLength = 0; std::string longestSubstring; int n = s.length(); for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (s[i] == s[j] && (j - i + 1) > maxLength) { maxLength = j - i + 1; longestSubstring = s.substr(i, maxLength); } } } return longestSubstring; } int main() { std::string input; std::cin >> input; std::string result = findLongestMatchingSubstring(input); std::cout << result << std::endl; return 0; }

Этот код определяет функцию findLongestMatchingSubstring, которая находит самую длинную подстроку, у которой совпадает первый и последний символ. Функция затем вызывается в функции main, и результат выводится в консоль.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос