Форум программистов, компьютерный форум 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
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.06.2010, 02:11     Вставка в строку другой строки, начиная с заданной позиции
Как-то так:
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
68
69
70
#include <iostream>
#include <cstring>
 
class String {
    char * m_pBuf;
    int m_strLen;
public:
    String() : m_strLen(0) {
        m_pBuf = new char [ 1 ];
        *m_pBuf = 0;
    }
    String(const char * pCStr ){
        m_strLen = strlen(pCStr);
        m_pBuf = new char [ m_strLen + 1 ];
        strcpy(m_pBuf, pCStr);
    }
    String(const String & s){
        *this = s;
    }
    ~String(){
        if ( m_pBuf )
            delete [] m_pBuf;
    }
    const String & operator = (const String & s){
        if ( this != &s ){
            if ( m_pBuf )
                delete [] m_pBuf;
            m_strLen = s.m_strLen;
            m_pBuf = new char [ m_strLen + 1 ];
            strcpy(m_pBuf, s.m_pBuf);
        }
        return *this;
    }
    bool insertAt(int pos, const String & s){
        if ( pos < 0 || pos > m_strLen - 1 || s.m_strLen == 0 )
            return false;
        char * tmpBuf = new char [ m_strLen + s.m_strLen + 1 ];
        if ( pos ){
            memcpy(tmpBuf, m_pBuf, pos);
            memcpy(tmpBuf + pos, s.m_pBuf, s.m_strLen);
            if ( pos < m_strLen - 1 )
                memcpy(tmpBuf + pos + s.m_strLen, m_pBuf + pos, m_strLen - pos);
        }
        else {
            memcpy(tmpBuf, s.m_pBuf, s.m_strLen);
            memcpy(tmpBuf + s.m_strLen, m_pBuf, m_strLen);
        }
        m_strLen += s.m_strLen;
        tmpBuf[m_strLen] = 0;
        delete [] m_pBuf;
        m_pBuf = tmpBuf;
        return true;
    }
    int len() const { return m_strLen; }
    friend std::ostream & operator << (std::ostream & ost, const String & s){
        ost << s.m_pBuf;
        return ost;
    }
};
 
int main(){
    String a("abcdefgh");
    String b("zzz");
    std::cout << "A:  " << a << std::endl;
    std::cout << "B:  " << b << std::endl;
    std::cout << "Inserting B at middle of A..." << std::endl;
    a.insertAt(a.len() / 2, b);
    std::cout << "AB: " << a << std::endl;
    return 0;
}
 
Текущее время: 07:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru