Предмет: Информатика, автор: wer48vb

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


wer48vb: 1-107,2-108

Ответы

Автор ответа: Alex225Games
6

Ответ:

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;

}

Объяснение:

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