Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
morgan92
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 51
1

Строка, слова в которой разделены пробелами

02.04.2012, 11:21. Просмотров 2302. Ответов 1
Метки нет (Все метки)

1) слова в строке разделены пробелами. найти самое длинное слово
2) слова в строке разделены последовательностями пробелов. удалить лишние пробелы
3) дана строка, слова в которой разделены пробелами. удалить из строки самое короткое слово
4) дана строка, слова в которой разделены пробелами. все слова в стороке перевернуть
5) дана строка, слова в которой разделены пробелами. посчитать количество слов в строке, которые начинаются и заканчиваются на одну букву
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2012, 11:21
Ответы с готовыми решениями:

Дана строка текста, в которой слова разделены пробелами.
Доброго времени суток ! Дана лаба: Дана строка текста, в...

Дана строка текста, в которой слова разделены пробелами и запятыми, вывести повторяющиеся слова
Помогите пожалуйста! Как мне найти и вывести повторяющиеся слова? П.С. При...

Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово.
5.17 Дана строка, слова в которой разделены пробелами. Оставьте в ней только те...

Дана строка текста, в которой слова разделены символами "#" и пробелами
Дана строка текста, в которой слова разделены символами "#" и пробелами....

Дана строка символов, состоящая из произвольного текста, слова разделены пробелами
Здравствуйте. Помогите написать программу: Реализовать алгоритм решения задачи....

1
bellinger
0 / 0 / 2
Регистрация: 31.03.2012
Сообщений: 2
03.04.2012, 23:23 2
Лучший ответ Сообщение было отмечено morgan92 как решение

Решение

вот первые 3

C++
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include <stdio.h>
#include <string.h>
 
void show_str(char* title, char* str);
char* max_word(char* str);
char* delete_spaces(char* str);
char* min_word(char* str);
char* delete_word(char* str, char* word);
 
int main(){
    char* s = new char[100];
    strcpy(s, "слова  в        строке    разделены    пробелами");
 
    show_str("Предложение:", s);
    show_str("Самое длинное слово:", max_word(s));
    show_str("Самое короткое слово:", min_word(s));
    show_str("Удаляем лишние пробелы: ", delete_spaces(s));
    show_str("Удаляем самое короткое слово пробелы: ", delete_word(s, min_word(s)));
 
 
    delete [] s;
}
 
//Функция поиска самого длинного слова в предложении
char* max_word(char* str){
 
    char* copy = new char[strlen(str + 1)];
    char* delim = new char[2];
    char* token;
    char* max_word = new char[strlen(str + 1)];
 
    strcpy(copy, str);
    strcpy(delim, " ");
 
    for(token = strtok(copy, delim);token != 0;token = strtok(0, delim)){
        if(strlen(token) >= strlen(max_word))//если нужно первое самое длинное то > если последнее самое длинное, то >=
            strcpy(max_word, token);
    }
 
    delete [] copy;
    delete [] delim;
 
    return max_word;
}
 
//Функция поиска самого короткого слова в предложении
char* min_word(char* str){
    char* copy = new char[strlen(str + 1)];
    char* delim = new char[2];
    char* token;
    char* min_word = new char[strlen(str + 1)];
 
    strcpy(copy, str);
    strcpy(delim, " ");
    strcpy(min_word, str);
 
    for(token = strtok(copy, delim);token != 0;token = strtok(0, delim)){
        if(strlen(token) <= strlen(min_word))//если нужно первое самое длинное то > если последнее самое длинное, то >=
            strcpy(min_word, token);
    }
 
    delete [] copy;
    delete [] delim;
 
    return min_word;
}
 
//Функция удаления слова из предложения
char* delete_word(char* str, char* word){
    char* copy = new char[strlen(str + 1)];
    char* delim = new char[2];
    char* token;
    char* new_str = new char[strlen(str + 1)];
 
    strcpy(copy, str);
    strcpy(delim, " ");
 
    for(token = strtok(copy, delim);token != 0;token = strtok(0, delim)){
        if(strcmp(token, word) == 0) continue;
 
        strcat(new_str, token);
 
        token = strtok(0, delim);
        if(!token)
            break;
        else{
            strcat(new_str, " ");
 
            if(strcmp(token, word) == 0) continue;
 
            strcat(new_str, token);
            strcat(new_str, " ");
        }
    }
 
    delete [] copy;
    delete [] delim;
 
    return new_str;
}
 
 
//Функция удаления лишних пробелов из предложения
char* delete_spaces(char* str){
    char* copy = new char[strlen(str + 1)];
    char* delim = new char[2];
    char* token;
 
    char* new_str = new char[strlen(str + 1)];
 
    strcpy(new_str, "");
    strcpy(copy, str);
    strcpy(delim, " ");
 
    for(token = strtok(copy, delim);token != 0;token = strtok(0, delim)){
        strcat(new_str, token);
 
        token = strtok(0, delim);
        if(!token)
            break;
        else{//не самый лучший вариант, но зато работает!
            strcat(new_str, " ");
            strcat(new_str, token);
            strcat(new_str, " ");
        }
 
    }
 
    delete [] copy;
    delete [] delim;
 
    return new_str;
}
 
//Функция вывода строки
void show_str(char* title, char* str){
    printf("%s\n\t%s\n",title, str);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 23:23

Дана строка символов, состоящая из произвольного текста, слова разделены пробелами
Дана строка символов, состоящая из произвольного текста, слова разделены ...

Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++
Дана строка слов котором разделены пробелами все слова в строке перевернуть на...

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины
В итоге вышло, что если первое слово правильной длинны - выводит все слова в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru