0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 24
1

Удалить из текста слова имеющие максимальную длину

12.12.2017, 16:55. Показов 3561. Ответов 1
Метки нет (Все метки)

Дан символьный массив, образованный из слов, разделенных пробелами
С использованием процедур и функций выполнить:
4)удалить из текста слова имеющие максимальную длину;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2017, 16:55
Ответы с готовыми решениями:

Удалить из текста слова имеющие максимальную длину
Дан символьный массив, образованный из слов, разделенных пробелами. С использованием процедур и...

Строка: Удалить все слова-палиндромы, имеющие минимальную длину среди всех слов.
Ввести строку символов (предусмотреть ввод пустой строки или строки из одних пробелов)....

Найти максимальную длину строки в текстовом файле и распечатать все строки файла, имеющие такую длину
Найти максимальную длину строки в текстовом файле и распечатать все строки файла, имеющие такую...

На печать вывести слова, стоящие на нечетных местах и имеющие длину больше длины предпоследнего слова
Доброго времени суток, уважаемые форумчане. Мне нужна программа выполняющая следующие условия: ...

1
836 / 639 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
12.12.2017, 19:17 2
Лучший ответ Сообщение было отмечено kiorol как решение

Решение

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
#include <iostream>
#include <cstring>
#define is_space(c) ((c) == ' ' || (c) == '\t' || (c) == '\n')
size_t max_word_len(const char* s);
char*  remove_max_words(char* s);
 
int main(void){
    char s[] = "COBOL LISP FORTH APL ALGOL ADA JAVA2";
    std::cout << remove_max_words(s) << std::endl;
    std::cin.get();
    return 0;
}
 
//удалить max-слово
char* remove_max_words(char* s){
    const size_t m = max_word_len(s);
    char* i, *t = s;
 
    for(char* p = s; *s; *s = *p){
        if(!is_space(*p)){
            i = p + 1;
            while(*i && !is_space(*i))
                ++i;
 
            if(static_cast<size_t>(i - p) == m)
                p = i;
            else {
                while(p != i)
                    *s++ = *p++;
            }
        } else
            ++s, ++p;
    }
    return t;
}
 
//длинна max-слова
size_t max_word_len(const char* s){
    const char delim[] = " \t\n";
    size_t n = 0, i = 0;
    while(*s){
        i  = std::strspn(s, delim);
        s += i;
        if(!*s)
            break;
 
        i  = std::strcspn(s, delim);
        s += i;
        if(i > n)
            n = i;
    }
    return n;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2017, 19:17
Помогаю со студенческими работами здесь

Вводится строка. Вывести слова стоящие на нечетных местах и имеющие длину больше длины предпоследнего слова.
#include&lt;fstream.h&gt; #include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt;...

Определить максимальную длину слова
Дан символьный массив, образованный из слов, разделенных пробелами. С использованием процедур и...

Напечатать в алфавитном порядке все слова из заданной строки, имеющие заданную длину n
Пожалуйста, напишите программу по следующей задаче: Дана строка . Напечатать в алфавитном...

Класс String. Напечатать все слова, входящие в эту текстовую строку, имеющие такую же длину как и заданное слово
Даны текстовая строка и слово. Напечатать все слова, входящие в эту текстовую строку, имеющие такую...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru