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

Вставка в строку другой строки, начиная с заданной позиции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ New - исключения http://www.cyberforum.ru/cpp-beginners/thread149548.html
Анука парни, подскажите что не так делаю. Есть такой код int main() { int i; double *p; try { for ( i=0; i<5000; i++) {
C++ счётчик помогите пожалуста написать програму: "в тексте подсчитать количество вхождений заданной буквы." http://www.cyberforum.ru/cpp-beginners/thread149542.html
Отладчик C++
Установила новый CodeBloks. После написания программы хочу запустить отладчик. Ставлю breakpoint. После запуска появляется окно вроде CodeBloks default has changed save ? После указания YES (пробывала и NO что правильно?)программа запускается доходит до Breakpoint и выходит ,написав Setting breakpoints Debugger name and version: GNU gdb 6.7.50.20071127 Child process PID: 3968 Program...
сначала цифры а потом буквы C++
Доброго времени суток!! Люди добрые! Написать программу, которая выводит сначала цифры, а потом буквы.
C++ значение логарифма http://www.cyberforum.ru/cpp-beginners/thread149521.html
Здраствуйте! помогите пожалуста вычислить приближенное значение логарифма натурального от произвольного аргумента | x | <1, что вводится с клавиатуры (использовать ряд Тейлора)
C++ Доработка программы Вот код: #include <stdio.h> #include <dos.h> #include <math.h> void main(void) { подробнее

Показать сообщение отдельно
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,508
26.06.2010, 04:04     Вставка в строку другой строки, начиная с заданной позиции
Цитата Сообщение от Lavroff Посмотреть сообщение
Хотя про функцию удаления тоже было бы интересно услышать
добавьте в класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
    bool erase(int pos, int cnt){
        if ( pos < 0 || pos > m_strLen - 1 || cnt < 1 )
            return false;
        char * tmpBuf;
        if ( cnt > m_strLen - pos )
            cnt = m_strLen - pos;
        tmpBuf = new char [ m_strLen - cnt + 1 ];
        if ( pos )
            memcpy(tmpBuf, m_pBuf, pos);
        if ( pos + cnt < m_strLen )
            memcpy(tmpBuf + pos, m_pBuf + pos + cnt, m_strLen - pos - cnt);
        m_strLen -= cnt;
        tmpBuf[m_strLen] = 0;
        delete [] m_pBuf;
        m_pBuf = tmpBuf;
        return true;
    }
...
а к проверкам добавьте
C++
1
2
3
4
5
6
7
8
9
10
11
...
    std::cout << "Erase 3 first..." << std::endl;
    c.erase(0, 3);
    std::cout << "C:  " << c << std::endl;
    std::cout << "Erase 3 last..." << std::endl;
    c.erase(c.len() - 3, 3);
    std::cout << "C:  " << c << std::endl;
    std::cout << "Erase 3 middle..." << std::endl;
    c.erase(4, 3);
    std::cout << "C:  " << c << std::endl;
...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru