File cpp Author smacker Created on 26 Май 2009 20 52 include iostream

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
* File: 6.cpp
* Author: smacker
*
* Created on 26 Май 2009 г., 20:52
*/
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
void print_s(char str[256], int start, int end)
{
for (int i=start; i<end; i++)
{
cout << str[i];
}
cout << endl;
}
bool is_polinom(char str[256], int start, int end)
{
for (int i=0; i<(end-start)/2; i++)
{
if (str[start+i]!=str[end-1-i])
{
return false;
}
}
return true;
}
void split(char str[256])
{
int j = 0;
int i = 0;
bool is = false;
while (str[i]!=0) // пока указатель не равен 0. Нулю он равен в конце строки
{
if (str[i] == ' ') // если текуший символ пробел
{
is = is_polinom(str, j, i); // впроверяем полином или нет, передавая строку, индекс начала и конца слова
if (is)
{
print_s(str, j, i);
}
j = i+1; // начало слова = конец предыдущего
}
i += 1; // собственно увеличиваем счётчик
}
is_polinom(str, j, i); // для последнего слова
if (is)
{
print_s(str, j, i);
}
}
int main(int argc, char** argv) {
char instring[256];
printf("Please enter string: ");
gets(instring);
split(instring);
return (EXIT_SUCCESS);
}