C++.
1.Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите это слово и его длину. Если таких слов несколько, выведите первое из них.
Входные данные
Задана одна строка, содержащая пробелы. Слова разделены ровно одним пробелом. Пробелы в начале и конце строки допускаются.
Выходные данные
Необходимо вывести самое длинное слово в строке и его длину.
2.По данной строке определите, является ли она палиндромом (то есть, можно ли прочесть ее наоборот, как, например, слово "топот").
Входные данные
На вход подается 1 строка без пробелов.
Выходные данные
Необходимо вывести yes, если строка является палиндромом, и no в противном случае.
Answers & Comments
Ответ:
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;
}
Объяснение: