Вопрос задан 03.10.2023 в 19:36. Предмет Информатика. Спрашивает Тюменцев Кирилл.

C++. 1.Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите это слово и

его длину. Если таких слов несколько, выведите первое из них.Входные данныеЗадана одна строка, содержащая пробелы. Слова разделены ровно одним пробелом. Пробелы в начале и конце строки допускаются.Выходные данныеНеобходимо вывести самое длинное слово в строке и его длину.2.По данной строке определите, является ли она палиндромом (то есть, можно ли прочесть ее наоборот, как, например, слово "топот").Входные данныеНа вход подается 1 строка без пробелов.Выходные данныеНеобходимо вывести yes, если строка является палиндромом, и no в противном случае.​
0 0
Перейти к ответам

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

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

Ответ:

107

#include <iostream>

using namespace  std;

int main() {

   int c=0,max=0,d;

   string s;

   getline(cin,s);

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

   {   if(s[i]!=' ')c++;

       else {

           if(c>max){max=c;

           d=i-c; }

           c=0;

       } if(c>max){max=c;

           d=i-c+1; }  

   }

   for(int i=d;i<d+max;i++)

   cout << s[i] ;

   cout << endl << max;

   return 0;

}

108

#include <iostream>

#include <cmath>

using namespace std;

int main()

{  int c=0;

 string s,a="";

cin >> s;

 for(int i=s.size()-1;i>=0;i--)

     a+=s[i];

 if(s==a) cout << "yes";

 else cout << "no";

   return 0;

}

Объяснение:

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

Вот примеры C++ кода для решения двух задач:

  1. Нахождение самого длинного слова и его длины в строке:
cpp
#include <iostream> #include <string> using namespace std; int main() { string input; getline(cin, input); // Ввод строки с пробелами // Инициализируем переменные для хранения самого длинного слова и его длины string longestWord = ""; int maxLength = 0; // Инициализируем временную переменную для текущего слова string currentWord = ""; // Перебираем символы в строке for (char c : input) { if (c != ' ') { currentWord += c; // Добавляем символ к текущему слову } else { // Если текущее слово длиннее самого длинного найденного, обновляем переменные if (currentWord.length() > maxLength) { longestWord = currentWord; maxLength = currentWord.length(); } currentWord = ""; // Сбрасываем текущее слово } } // Проверяем последнее слово после завершения цикла if (currentWord.length() > maxLength) { longestWord = currentWord; maxLength = currentWord.length(); } // Выводим результат cout << "Самое длинное слово: " << longestWord << endl; cout << "Его длина: " << maxLength << endl; return 0; }
  1. Проверка, является ли строка палиндромом:
cpp
#include <iostream> #include <string> using namespace std; int main() { string input; cin >> input; // Ввод строки без пробелов // Инициализируем переменную для хранения результата string result = "yes"; // Перебираем символы строки с обоих концов и сравниваем их for (int i = 0, j = input.length() - 1; i < j; i++, j--) { if (input[i] != input[j]) { result = "no"; break; } } // Выводим результат cout << result << endl; return 0; }

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

0 0

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

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

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

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