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

Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Жадный алгоритм на графе http://www.cyberforum.ru/cpp-beginners/thread913028.html
Собственно, нужно написать программу поиска кратчайшего пути на графе "жадным методом". То есть, дан ориентированный взвешенный граф (можно и неориентированый, как получится) и у рёбер даны их длины...
C++ Запись класса в файл Доброго времени суток! Вот появился тупик, есть базовый класс и производные классы class Figure{ protected: int x,y; TColor color; int size; int type; ... http://www.cyberforum.ru/cpp-beginners/thread913024.html
C++ Сборщик мусора
Доброго вам времени суток! У меня вопрос можно ли автоматизировать удаление объектов размещаемых в куче? (Желательно обойтись только STL).
Странные вещи с циклом. Что бы это могло быть? C++
Программа проста, как мычание: вводятся числа и печатается строка, пока не будет введено отрицательное число. Казалось бы, чего тут может быть интересного. Но: если опечататься и вместо 129.5 ввести...
C++ Вывести массив на экран из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread912969.html
2. Компоненты заданного бинарного файла – массивы, состоящие из 4 вещественных чисел каждый. Вывести на экран сумму вторых элементов всех массивов. #include <iostream> #include <fstream>...
C++ Подключение библиотеки Font Stash Есть такая библиотека Font Stash для отрисовки текста в OpenGL. У меня проблема ее подключить так, чтобы работала. Использую код из примера на гитхабе. Что я пробовал: 1. В папку с проектом кладу... подробнее

Показать сообщение отдельно
Khelleos
37 / 37 / 7
Регистрация: 13.05.2010
Сообщений: 283
Записей в блоге: 1
27.06.2013, 04:56
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
#include <iostream>
#include <string>
#include <cstdlib>
 
using namespace std;
 
char* remove_symbol( char * s)
{
    setlocale(LC_ALL,"Russian");
    long len = strlen(s);
    long symbolIndx = 0;
    char* t = s;
    char* a, *b;
    
    for( a = s, b = s; *b = *a; *a++) {
        symbolIndx++;
        
        if( symbolIndx != len / 2 + 1)
            *b++;
    }
    
    return t;
}
 
 
 
int main()
{           
    char str[128];
    char buf;
    int i = 0;
 
    while(true)
    {
        buf = getchar();
        if (buf != '\n')
            str[i++] = buf;
        else
            break;
    }
    str[i] = '\0';
 
    int count = 0;
    char* pstr;
    
    pstr = strtok(str, " ,.!?");
    while( pstr != NULL )
    {
        char* tok;
        if( strlen(pstr) % 2 == 1 && strlen(pstr) > 1)
            tok = remove_symbol(pstr);
        else
            tok = pstr;
            
        cout << tok << " ";
        
        
        pstr = strtok(NULL, " ,.!?");
        
    }
    cout << "\n";
                   
    
    system("pause");
    
    return 0;
}
Добавил в strtok еще пару разделителей.
Только кириллицу он странно понимает и выводит её неверно.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru