Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #include <iostream>
#include <sstream>
#define M 3
using namespace std;
int main()
{
string intro("A long time ago in a galaxy far, far away...It is a period of civil war.");
string word;
for(int i=0;i<intro.length();i++)
if(intro[i]=='.' || intro[i]==',' || intro[i]=='?' || intro[i]=='!')
intro[i]=' ';
istringstream ist(intro);
while(ist>>word)
if(word.length()==M) cout<<word<<" ";
cin.get();
return 0;
} |
|
Добавлено через 14 минут
Задана строка символов. Получить новую строку, в которой вначале стоят все символы, стоящие на четных местах в исходной строке, а затем – стоящие на нечетных.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| #include <iostream>
#include <sstream>
using namespace std;
int main()
{
string intro("A long time ago in a galaxy far, far away...It is a period of civil war.");
char* end = new char[intro.length()+1];
int i,k;
for(i=0,k=0;i<intro.length();i+=2,k++)
end[k]=intro[i];
for(i=1;i<intro.length();i+=2,k++)
end[k]=intro[i];
end[k]='\0';
cout<<end;
delete []end;
cin.get();
return 0;
} |
|