Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ассемблерные вставки: возведение числа в степень https://www.cyberforum.ru/ cpp-beginners/ thread2161753.html
Привет! Подскажите как это(Возведение числа в степень ) можно реализовать в ассемблерскую вставку #include <iostream> #include <cmath> using namespace std; int main() { setlocale(0,...
C++ Лексический, Синтаксический анализ
Добрый вечер. Помогите разобраться с написанием анализаторов. На сколько я поняла этапы анализа складываются из: 1. Лексический анализ – разбиение на атомарные элементы, или лексемы 2....
C++ Функция, которая сформировывает строку, в которой слова идут по алфавиту https://www.cyberforum.ru/ cpp-beginners/ thread2161749.html
Здравствуйте. Помогите пожалуйста. на C++ Написать функцию, которая сформировывает строку, в которой слова идут по алфавиту
C++ Трехмерный массив, в который можно записать матрицы разных размеров можно ли сделать трехмерный массив у которого не будет четких размеров и в который можно записать матрицы разных размеров? https://www.cyberforum.ru/ cpp-beginners/ thread2161748.html
C++ Описать процедуру, вычисляющую третью степень заданного числа
Описать процедуру PowerA3(A, B), вычисляющую третью степень числа A и возвращающую ее в переменной B (A — входной, B — выходной параметр; оба параметра являются вещественными). С помощью этой...
C++ Нужно передать значение переменной из класса Нужна помощь! Как передать значение введённой переменной size в переменную n_size в main? То же с массивом n_array. На место проблемы указал в main-е. #include <iostream> using namespace... https://www.cyberforum.ru/ cpp-beginners/ thread2161736.html
C++ Почему происходит инициализация только первого элемента динамического массива структуры? https://www.cyberforum.ru/ cpp-beginners/ thread2161729.html
Здравствуйте. Я пишу программу для табулирования функции cos(x). Аргументы и значение функции нужно записать в массив структуры. Проблема в том, что происходит инициализация только первого элемента...
Реализация циклического алгоритма C++
Помогите понять как реализовать алгоритм. Допустим после пары шагов алгоритма есть условный оператор, который проверяет какое-либо условие. Если оно выполняется, то цикл идет дальше. Если нет, то...
C++ Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные https://www.cyberforum.ru/ cpp-beginners/ thread2161719.html
Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные.
C++ С помощью функции найти значение выражения https://www.cyberforum.ru/ cpp-beginners/ thread2161717.html
Описать функцию Sign(X) целого типа, возвращающую для вещественного числа X следующие значения: –1, если X < 0; 0, если X = 0; 1, если X > 0. С помощью этой функции найти значение выражения Sign(A) +...
C++ Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат поместить в файл f1
Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат поместить в файл f1.
C++ Заменить максимальный элемент массива на 0 и вывести на экран https://www.cyberforum.ru/ cpp-beginners/ thread2161671.html
Выводит всегда 0 случайно а не максимально а так же постоянно мешает массив, пробовал пробовал и все не как. Задание: Пользователь вводит массив из 5 чисел. Программа меняет максимальный элемент...
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
21.12.2017, 18:11 0

Функция,которая создаёт новую строку,в которой удалены все слова минимальной длины - C++ - Ответ 11968439

21.12.2017, 18:11. Показов 1122. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Line_K как решение

Решение

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
#include <iostream>
#include <string>
#include <cctype>
#define is_delim(c) (std::isspace((c)) || std::ispunct((c)))
std::string::size_type min_word(const std::string& s);
std::string& remove_min_words(std::string& d, const std::string& s);
 
int main(void){
    std::string s = "APL, ADA, PERL (PHP) LISP, CPP";
    
    std::string d;
    remove_min_words(d, s);
    std::cout << d << std::endl;
    std::cin.get();
    return 0;
}
 
//удаление минимальных слов
std::string& remove_min_words(std::string& d, const std::string& s){
    std::string::size_type i, j, n, m = min_word(s);
    d = "";
    n = s.length();
    for(i = 0; i < n; ){
        if(!is_delim(s[i])){
            j = i + 1;
            while((j < n) && !is_delim(s[j]))
                ++j;
 
            if((j - i) != m)
                d.append(s.begin() + i, s.begin() + j);
            i = j;
        } else
            d += s[i++];
    }
    return d;
}
 
//минимальное слово
std::string::size_type min_word(const std::string& s){
    std::string::size_type j = 0, m = 0, i = 0, n = s.length();
    do {
        if((i < n) && !is_delim(s[i]))
            ++j;
        else if(j > 0){
            if(!m || (j < m))
                m = j;
            j = 0;
        }
    } while(i++ < n);
    return m;
}


Вернуться к обсуждению:
Функция,которая создаёт новую строку,в которой удалены все слова минимальной длины C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2017, 18:11
Готовые ответы и решения:

В файле заменить все слова максимальной длины на слова минимальной длины
Нужно в считанном из файла тексте заменить все слова максимальной длины на слова минимальной длины,...

Функция, которая сформировывает строку, в которой слова идут по алфавиту
Здравствуйте. Помогите пожалуйста. на C++ Написать функцию, которая сформировывает строку, в...

Разработать программу, которая вводит строку и находит все слова указанной длины n (n вводится)
Разработать программу, которая вводит строку и находит все слова указанной длины n (n вводится)

Строки. Поиск слова минимальной длины, вывод этой длины, номер слова и само слово
Как организовать решение такой задачи? Может как-то через создание массивов, в ячейках которых...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2017, 18:11
Помогаю со студенческими работами здесь

Си: Выдать слова текста и их длины, Сформировать новую строку по правилу
Задание: Задан некоторый текст, состоящий из слов. Словом считать последовательность символов,...

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

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

Из Pascal в C++ (Сформировать новую строку, в которой слова будут следовать в обратном порядке)
Сформировать новую строку, в которой слова будут следовать в обратном порядке. Найти первое...

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