Задание №10
Написать
программу, которая вводит с клавиатуры
символьную строку длиной не более 80
символов, рассматриваемую как произвольное
абстрактное предложение, состоящее из
слов. Слова отделяются друг от друга
как минимум одним символом пробела.
Строка должна быть введена посимвольно
с использованием функции getchar(). Из нее
построить новую строку предложения, в
которой слова имеют обратный порядок
следования символов по сравнению с
исходной строкой. Результат распечатать
на экране.
#include
<iostream>
#include
<string>
#include
<algorithm>
using
namespace std;
int
main()
{
char
myString[81];
fill(myString,myString+81,'
');
char
ch;
for(
int i=0; i<80; ++i )
{
ch
= getchar();
if
( ch == '\n' )
break;
myString[i]
= ch;
}
string
new_string;
for(
int i=0; i<81; ++i )
{
if
( myString[i] != ' ' )
new_string
+= myString[i];
else
{
reverse(
new_string.begin(), new_string.end() );
cout
<< new_string << " ";
new_string
= "";
}
}
//если
за последним символом не было пробела,
то последнее слово всё ещё надо вывести
if
( new_string.size() )
{
reverse(
new_string.begin(), new_string.end() );
cout
<< new_string << endl;
}
}