Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- #include <cstdio>
- using namespace std;
- // Возвращает индекс 1-го найденного пробела
- int GetSpacePos(char *s, int length) {
- int space;
- for (int i = 0; i < length; i++)
- if (s[i] == ' ')
- return i;
- }
- // Возвращает последнее слово в сроке
- char* LastWord(char *s, int length) {
- int space;
- // Ищем индекс последнего пробела в строке
- for (int i = 0; i < length; i++)
- if (s[i] == ' ')
- space = i;
- //Возвращем кусок строки, начиная со следующего после пробела символа
- return (s + (++space));
- }
- // Возвращает первое слово из строки
- char* GetWord(char *s, int length) {
- // Создаём новую строковую переменную
- char *new_s = new char[length];
- // Копируем старую строку в новую
- strcpy(new_s, s);
- /*
- Ищем индекс первого пробела в строке и присваиваем ему 0,
- тем самым обрезая строку по этот пробел.
- */
- new_s[GetSpacePos(new_s, length)] = 0;
- // Возвращаем обрезанную строку
- return new_s;
- }
- // TODO!!!
- bool RepeatLetters(char *s, int length) {
- int *map = 0;
- int array[255];
- map = &array[127];
- for (int i = 0; i < length; i++) {
- map[(int)s[i]]++;
- if (map[(int)s[i]] > 1)
- return true;
- }
- return false;
- }
- int main() {
- setlocale(0, "");
- const int length = 79;
- char s[length];
- cout << "Введите строку:\n";
- gets(s);
- char *last_word = LastWord(s, length);
- char *word = GetWord(s, length);
- int space = GetSpacePos(s, length) + 1;
- int i = 0;
- while (space < length) {
- if (strcmp(word, last_word));
- cout << word << endl;
- word = GetWord(s + space, length);
- space = GetSpacePos(s + space, length) + space + 1;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment