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

c++ перегрузка функций и еще пара просьб - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фиксированный квант времени в алгоритме планирования FCFS http://www.cyberforum.ru/cpp-beginners/thread729909.html
Здравствуйте. Вот код программы, планировщика, который работает по алгоритму FCFS. В нем реализованы два состояния: готовность и выполнение. Как дополнить код, чтоб было состояние ОЖИДАНИЯ и использовался КВАНТ ВРЕМЕНИ???? #include "stdafx.h" #include "conio.h" #include "iostream" #include "stdlib.h" #include "locale.h" using namespace std; void main()
C++ Создать класс файл с методом top50 по расширению Создать класс File. Добавить метод, который считает сколько файлов на определённом диске. Создать метод Competition. Он показывает файлов какого типа больше всего, а также их кол-во. Метод Top50. Распечатывает таблицу наиболее популярных расширений. Помогите пожалуйста сделать это или какую-то часть. Буду очень благодарен. http://www.cyberforum.ru/cpp-beginners/thread729907.html
Удалить среднею букву в нечетных словах текста C++
Нужно удалить в каждом нечетном слове среднею букву, я смог дойти только до такого: удаляет онли в первом слове, дальше уж не знаю, как составить алгоритм, нужна Ваша помощь. #include <iostream> #include <conio.h> using namespace std; void main () {
C++ Преобразуйте КА к детерминированному виду и минимизируйте полученный КА
Помогите с решением задачки: Задан КА: M({S,R,Z}, {a,b}, δ, S, {Z}), δ(S,a) = {S.R}, δ(R,b) = {R}. δ(R,a) = {Z}. Преобразуйте его к детерминированному виду и минимизируйте полученный КА. Добавлено через 20 часов 17 минут КА - Конечный автомат
C++ Программа,считающая определители матриц http://www.cyberforum.ru/cpp-beginners/thread729894.html
Помогите написать программу, считающую определить матрицы методом гаусса. Заранее спасибо.
C++ Как расширить работоспособность программы Подскажите пожалуйста как сделать так чтобы программа работала при бОльших значениях...Вот у меня имеется программа для рекурсивного умножения матриц..Но она считает значения только для размера не больше тридцати двух.Далее отказывается компилировать Как сделать так,чтобы она умножала матрицы огромного размера(например 1024х1024)?Прикладываю код: #include "stdafx.h" #include <iostream>... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7008 / 4179 / 596
Регистрация: 29.11.2010
Сообщений: 11,089
14.12.2012, 01:21     c++ перегрузка функций и еще пара просьб
pdesyatnyk, вот с динамическим массивом char и соотв. деструктором, конструктором копий и перегруженным оператором присваивания:
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <iostream>
#include <cmath>
#include <cstring>
 
using namespace std;
 
class ComplexNumber
{
private:
    double x;
    double y;
    char *name;
public:
    //конструкторы
    ComplexNumber();
    ComplexNumber(char* n, double x, double y);
    ComplexNumber(const ComplexNumber &c); // конструктор копий
 
    // деструктор
    ~ComplexNumber();
 
    // оператор присваивания
    ComplexNumber& operator= (const ComplexNumber&);
 
    //вывод комплексного числа
    void showComplexNumber();
 
    //вычисление модуля комплексного числа
    double module();
 
    //перегруженные операции: сложение, вычитание, деление, умножение
    ComplexNumber operator+(ComplexNumber num);
    ComplexNumber operator-(ComplexNumber num);
    ComplexNumber operator*(ComplexNumber num);
    ComplexNumber operator/(ComplexNumber num);
};
 
void ComplexNumber::showComplexNumber()
{
    cout << name << x << showpos << y << "i" << noshowpos;
}
 
ComplexNumber::ComplexNumber()
{
    x = 0;
    y = 0;
}
 
ComplexNumber::ComplexNumber(char* n, double x, double y)
{
    name = new char[strlen(n)];
    strcpy(name, n);
    this->x = x;
    this->y = y;
}
 
ComplexNumber::ComplexNumber(const ComplexNumber &c)
{
    name = new char[strlen(c.name)];
    strcpy(name, c.name);
    x = c.x;
    y = c.y;
}
 
ComplexNumber::~ComplexNumber()
{
    delete []name;
}
 
ComplexNumber& ComplexNumber::operator= (const ComplexNumber& c)
{
    if (&c == this)
        return *this;
    delete []name;
    name = new char[strlen(c.name)];
    strcpy(name, c.name);
    x = c.x;
    y = c.y;
    return *this;
}
 
double ComplexNumber::module()
{
    return sqrt(x * x + y * y);
}
 
ComplexNumber ComplexNumber::operator+(ComplexNumber num)
{
    ComplexNumber newNum(name, x + num.x, y + num.y);
    return newNum;
}
 
ComplexNumber ComplexNumber::operator-(ComplexNumber num)
{
    ComplexNumber newNum(name, x - num.x, y - num.y);
    return newNum;
}
 
ComplexNumber ComplexNumber::operator*(ComplexNumber num)
{
    ComplexNumber newNum(name, x * num.x - y * num.y, y * num.x + x * num.y);
    return newNum;
}
 
ComplexNumber ComplexNumber::operator/(ComplexNumber num)
{
    ComplexNumber newNum(name, (x * num.x + y * num.y) / (num.x * num.x + num.y * num.y), (y * num.x - x * num.y) / (num.x * num.x + num.y * num.y));
    return newNum;
}
 
int main()
{
    ComplexNumber z1("super", 1, 3);
    ComplexNumber z2("puper", 2, 1);
 
    cout << "We have two complex numbers:" << '\n';
    cout << "z1=";
    z1.showComplexNumber();
    cout << "   ";
    cout << "z2=";
    z2.showComplexNumber();
    cout << '\n';
 
    cout << "Module of z1:" << z1.module() << '\n';
    cout << "Module of z2:" << z2.module() << '\n';
 
    cout << "z1 + z2 = ";
    (z1 + z2).showComplexNumber();
    cout << '\n';
    cout << "z1 - z2 = ";
    (z1 - z2).showComplexNumber();
    cout << '\n';
    cout << "z1 * z2 = ";
    (z1 * z2).showComplexNumber();
    cout << '\n';
    cout << "z1 / z2 = ";
    (z1 / z2).showComplexNumber();
    cout << '\n';
    system("pause");
    return 0;
}
Добавлено через 1 минуту
sovaz1997, а куда вы собрались вектор пихать, если не секрет?
ТС, динамический массив попросили запихнуть чтобы вы научились работать с памятью, так что vector, string вам не подходит.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru