Форум программистов, компьютерный форум, киберфорум
Наши страницы

Удалить из каждого слова исходной строки две последние буквы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать перегрузку оператора "минус" для строк http://www.cyberforum.ru/cpp-beginners/thread1715998.html
Такой вопрос, для строк нужно написать оператор "минус", что это значит? Если оператор "+" конкатенация строк, то что такое оператор "минус"? Можно пример?
C++ Как это работает (недокументированное использование оператора "запятая")? Нашёл один велосипед в сети, можете объяснить как это работает? Что это за недокументированное использование оператора "запятая"? WCHAR *foo(const PUNICODE_STRING str1, const WCHAR *str2) { if... http://www.cyberforum.ru/cpp-beginners/thread1715979.html
Оператор noexcept и перегруженные методы класса C++
Всем привет Как проверить с помощью noexcept, кидает ли исключение нужный мне перегруженный метод? #include <iostream> #include <string> class Test { public: void foo(const std::string...
C++ Поиск самого короткого и самого длинного слова массива
Возникла проблема, программа наименьшим считает всегда первое слово #include <iostream> #include <conio.h> #include <locale> #include <string.h> using namespace std; int main() {...
C++ Исправить ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread1715956.html
как исправить ошибки где я допустил их
C++ Шаблонные функции Такой код работает. #include <iostream> #include <string> #include <cstring> using namespace std; template <typename T> T maxn(T a, int b) { T max = 0; for (int i = 0; i < b; i++) { if... подробнее

Показать сообщение отдельно
Геомеханик
669 / 475 / 335
Регистрация: 26.06.2015
Сообщений: 1,112
20.04.2016, 17:59
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
#include <iostream>
#include <cctype>
 
char* del_words(char* s, int n){
    int   m;
    char* p, *i, *t = s;
    for(p = s; *s; *s = *p){
        if(! isalpha(*p))
            ++s;
        else {
            for(i = p; *i && isalpha(*i); ++i)
                ;
            m = (int)(i - p);
            if(m > n){
                i -= n;
                while(p != i)
                    *s++ = *p++;
                p += n;
            } else {
                while(p != i)
                    *s++ = *p++;
            }
            continue;
        }
        ++p;
    }
    return t;
}
 
int main(void){
    char s[] = "WOLF, TIGER, LEON, PANTHER, JUGUAR, AK";
    std::cout << s << std::endl;
    std::cout << del_words(s, 2) << std::endl;
    return 0;
}
Пример работы кода
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru