Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка Dev C++ undefined reference https://www.cyberforum.ru/ cpp-beginners/ thread1345547.html
Подскажите пожалуйста, при компиляции программы выдает ошибки: undefined reference to '_streams'. Как исправить? Заранее спасибо!
С чего начать C++
ВСЕМ ПРИВЕТ.Собсвенно может не туда залез, но прошу совета.Хочу начать изучать програмирование, про "это все" не знаю ничего абсолютно, кроме того, что существуют програмисты.Понимаю, есть куча инфы...
C++ Hex edit dll Помогите написать dll. Суть такова, в файле нужно в промежутке с 0x00000000 до 0x0000000f внести определенные значение, сохранить, потом в другой функции заполнить этот же промежуток нулями. ... https://www.cyberforum.ru/ cpp-beginners/ thread1345502.html C++ Удалить из слова средние буквы https://www.cyberforum.ru/ cpp-beginners/ thread1345495.html
Ну что же, из моего скромного набора экзаменационных задач вновь встретилась та, управу на которую никак не найду :wall: Условие:Дано слово. Если длина его нечетная, то удалить среднюю букву, в...
C++ Возврат массива из функции
Программа должна переводить числа с 10 системы в двоичную... но почемуто выводит некорректно... Вот код... #include <iostream> using namespace std; int* calc_m(int a) { int n = a; int arr;
C++ Type name expected Не могу понять, на что компилятор ругается. Проверял код много раз, подобной проблемы не нашел. Ошибка: E2303 Type name expected #include <iostream> #include <string> using namespace std; ... https://www.cyberforum.ru/ cpp-beginners/ thread1345468.html
C++ Как искать ответы на вопросы? https://www.cyberforum.ru/ cpp-beginners/ thread1345463.html
возможно глупый вопрос без конкретного ответа, но всетаки постараюсь сформулировать его как можно более понятно по сути. я учу с++. и у меня возникают вопросы-задачки. Например: 1) Как создать...
Где находится реализация функции printf? C++
В stdio.h есть прототип функции printf: _Check_return_opt_ _CRTIMP int _cdecl printf(_In_z_ _Printf_format_string_ const char * _Format, ...); Но где же находится сама реализация функции...
C++ Точка в окружности. Программа и блок-схема https://www.cyberforum.ru/ cpp-beginners/ thread1345455.html
#include <iostream> using namespace std; void main() { double x, y, r; cout << "Введие x,y,r:" << endl; cin >> x >> y >> r; if (r<0) { cout << "Введие r>0" <<...
C++ Зависание при запуске проекта "Unhandled exception" https://www.cyberforum.ru/ cpp-beginners/ thread1345433.html
Unhandled exception at at 0x76D32F71 in ConsoleApplication3.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0102F6C0. В с++ почти полный чайник. Имеем только базовые знания о ЯП. В...
Не могу создать файл в поток ofstream C++
Всех с наступившем НГ!) Не могу открыть/создать файл в поток. fstream somf; somf.open("c:\\users\\admin\\documents\\visual studio 2010\\Projects\\eProj\\Debug\\som_file.txt", ios::in); ...
C++ Матрица с разными типами данных в ней https://www.cyberforum.ru/ cpp-beginners/ thread1345423.html
Мне нужно создать матрицу, которая содержала бы разные типы данных, содержащиеся, в ней. По сути обыкновенная таблица, только в виде матрицы. При этом, я не уверен, что можно использовать структуры,...
4 / 4 / 4
Регистрация: 09.03.2014
Сообщений: 187
0

Выполнить объединение двух строк с помощью перегрузки оператора (*) - C++ - Ответ 7061432

02.01.2015, 20:09. Показов 995. Ответов 2
Метки (Все метки)

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
class String
{
    char *str;
    int size;
public:
    String(){size=0;};
    String(char*cstr)
    {
        size=strlen(cstr);
        str=new char[size+1];
        strcpy(str,cstr);
    }
    String(String &s)
    {
        size=strlen(s.str);
        str=new char[size+1];
        strcpy(str,s.str);
    }
    ~String()
    {
        if(size>0)
            delete[]str;
    }
    String operator *(String &s)
    {
                //cout<<str<<"///"<<s.str<<endl;
        String buf;
        buf.size=size+s.size;
        buf.str=new char[buf.size+1];
        strcpy(buf.str,str);
        strcat(buf.str,s.str);
        int count=0;
    for(int i=0;i<buf.size;i++)
        {
            for(int j=i+1;j<buf.size;j++)
            {
                 if(buf.str[i]!=buf.str[j])//почему не корректно работает????
                    buf.str[i]='o';
            }
    }
        
        cout<<buf.str;
        for(int i=0;i<buf.size;i++)
        {
            for(int j=i+1;j<buf.size;j++)
            {
                if(buf.str[i]==buf.str[j])
                {
                    for(int k=j;k<buf.size;k++)
                        buf.str[k]=buf.str[k+1];
                         buf.size--;
                         i--;
                } 
            }
        }
        //cout<<buf.str;
        return buf;
    }
    String operator=(String &s)
    {
        //cout<<s.str<<endl;
        if(size!=0&&strcmp(str,s.str)==0)
        return *this;
        if(size>0)
        delete[]str;
        size=strlen(s.str);
        str=new char[size+1];
        strcpy(str,s.str);
        return*this;
    }
    void show()
    {
        cout<<str<<endl<<size;
    }
};
void main()
{
    char a[]="fdfdfgddfdf";
    char b[]="ffffdddd";
    String stroka1(a);
    String stroka2(b);
    String stroka3;
    //stroka1.show();
    stroka3=stroka1*stroka2;
//  stroka3.show();
    system("pause");
}
дано две строки,,,,программа выполняет объединение двух строк(выводит общие элементы) с помощью перегрузки оператора(*).Я в коде закомментировал строчку где некорректно работает условие(не могу понять чего так)....свежи взгляд мне не помешает

Вернуться к обсуждению:
Выполнить объединение двух строк с помощью перегрузки оператора (*) C++
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2015, 20:09
Готовые ответы и решения:

Объединение, пересечение и разность множеств с помощью оператора SWITCH
Помогите пожалуйста написать программу объединение,пересечение и разность множеств с помощью...

Должен ли хотя бы один из параметров оператора перегрузки был того же типа, что и тип, в котором этот оператор перегрузки определен
A) В зависимости от перегружаемой операции B) Нет C) Да D) В зависимости от типа, в котором...

Перегрузка оператора плюс, объединение двух массивов
class Array { private: int size; unsigned int* data; public: Array(){} Array(int...

Вычитание строк с помощью оператора
Никак не могу реализовать вычитание строк с помощью оператора, вот все что пришло на ум подскажите...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2015, 20:09

Выполнить объединение двух массивов используя рекурсию
Помогите решить с помощью рекурсии Даны значения двух целочисленных массивов х и у размером n....

Объединение двух строк
Всем привет! Прошу прощения за мою тупость, но вопрос такой: Необходимо отправить вот такой...

Объединение двух строк
Заданы 2 строки, в которых символы упорядочены в порядке возрастания кодов. Объединить их в одну...

С помощью оператора WHILE: Для двух натуральных чисел вывести их наибольший общий делитель
3. С помощью оператора WHILE: Для двоих натуральных чисел вывести их наибольший общий делитель.

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.