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

Добавить функцию main() в код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не правильно формирует строку http://www.cyberforum.ru/cpp-beginners/thread1099440.html
Требуется написать программу , которая при вводе строки определяет сколько в ней слов оканчивающихся на букву а . Программа должна работать при вводе правильного пароля. У меня такая проблема , когда ввожу строку на русском языке, то она за место того что я ввел преобразуется в нечто иное из рандомных символов . Русский язык включен через setlocale(0,""); При вводе строки использую метод gets ....
C++ Даны числовой ряд и некоторое число е найти сумму членов ряда модуль которых больше или равен е помогите написать программу и блок схему по задаче на с++ do while Даны числовой ряд и некоторое число е найти сумму членов ряда модуль которых больше или равен е формула а(n)= 1/(3n-2)(3n+1) http://www.cyberforum.ru/cpp-beginners/thread1099371.html
Программа должна писать сколько лет, месяцев, дней, часов, минут, секунд прожил человек C++
Программа должна писать сколько лет,месяцев,дней,часов,минут,секунд прожил человек Вводится только число,год и месяц. Только точно, а не приблизительно. И, день-час-минута-секунда пишется не считая данного дня.С учётом весокостного дня! #include <iostream> #include <string> #include <vector> #include <windows.h> using namespace ::std; void main () {
Метод Гаусса C++, исправить ошибки в коде C++
Писал код по этому алгоритму, но с циклами совершенно не умею работать, помогите найти ошибки пожалуйста #include<iostream> #include <stdio.h> #include <math.h> #include <iomanip> #include <conio.h> using namespace std;
C++ Как получить доступ к строке введенной в форму? http://www.cyberforum.ru/cpp-beginners/thread1099298.html
Здравствуйте!Мне нужно получить доступ к строке введенной в Edit1 и присвоить этой строке значение N переменной,как мне это сделать ? Мне не нужно преобразовывать эту строку введенную в Edit в тип Float или Int.Мне просто нужно потом перебрать элементы строки,введенные в Edit1 поэтому я и хочу ее присвоить переменной.
C++ После каждого четного члена последовательности с нечетным номером, вставить значение max Даны натуральное число n и целые числа (m1...mn) . После каждого четного члена последовательности с нечетным номером, предшествующим первому по порядку члену со значением max(m1...mn) , вставить значение max(m1...mn) . подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
18.02.2014, 13:17     Добавить функцию main() в код
C++
1
2
3
4
    void operator>>(std::iostream ist)
    {
        ist>>re>>im;
    }
Так лучше не делать. Чревато последствиями.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//В теле объявления класса:
 friend ostream& operator << (ostream&, CComplex);
 friend istream& operator >> (istream&, CComplex&);
//Определение
 ostream& operator << (ostream& os, CComplex comp)
 {
    std::cout << comp.Re();
    if (comp.Im() >= 0) {
        std::cout << '+';
        std::cout << comp.Im() << 'i';
    }
    else {
        std::cout << comp.Im() << 'i';
    }
    return os;
 }
 istream& operator >> (istream& is, CComplex& comp)
 {
    std::cin >> comp.re;
    std::cin >> comp.im;
    return is;
 }

Это убрать:
C++
1
typedef CComplex *LPCCOMPLEX;
Вот тут ошибка:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
CComplex 
CComplex::operator /(CComplex& val)
{
    CComplex ret_val;
    double div = pow(val.re,2) - pow(val.im,2);
    ret_val.re = re*val.re + im*val.im;
    ret_val.im = -re*val.im + im*val.re;    
    return ret_val/div;
}

Должно быть:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
CComplex 
CComplex::operator /(CComplex& val)
{
    CComplex ret_val;
    double div = pow(val.re,2) + pow(val.im,2);
    ret_val.re = re*val.re + im*val.im;
    ret_val.im = -re*val.im + im*val.re;    
    return ret_val/div;
}

Не советую инициализировать поля класса в теле конструктора:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
 CComplex():re(0), im(0) //Конструктор по умолчанию
 {}
 //Конструкторы преобразования
 CComplex(double _re, double _im): re(_re), im(_im)
 {}
 CComplex(double val): re(val), im(0)
 {}


Добавлено через 42 минуты
Вот вам полная реализация без ничего лишнего:
Кликните здесь для просмотра всего текста
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
#include<iostream>
#include<math.h>
using namespace std;
 class CComplex
 {
 private:
     double re;
     double im;
 public:
 
     CComplex():re(0), im(0)
     {}
     CComplex(double val): re(val), im(0)
     {}
     CComplex(double _re, double _im): re(_re), im(_im)
     {}
 
     friend CComplex operator+(CComplex, CComplex);
     friend CComplex operator-(CComplex, CComplex);
     friend CComplex operator*(CComplex, CComplex);
     friend CComplex operator/(CComplex, CComplex);
 
     double Re();
     double Im();
 
     friend ostream& operator << (ostream&, CComplex);
     friend istream& operator >> (istream&, CComplex&);
 
     void AlgToExp();
     void ExpToAlg();
 };
 
 CComplex operator +(CComplex val1, CComplex val2)
 {
     double  re = val1.re+val2.re;
     double  im = val1.im+val2.im;
     return CComplex(re, im);
 }
 
 CComplex operator -(CComplex val1, CComplex val2)
 {
     double  re = val1.re-val2.re;
     double  im = val1.im-val2.im;
     return CComplex(re, im);
 }
 
 CComplex operator *(CComplex val1, CComplex val2)
 {
     double  re = val1.re*val2.re - val1.im*val2.im;
     double  im = val1.im*val2.im + val1.re*val2.im;
     return CComplex(re, im);
 }
 
 CComplex operator /(CComplex val1, CComplex val2)
 {
     double div = val2.re * val2.re + val2.im * val2.im;
     double re = val1.re*val2.re + val1.im*val2.im;
     double im = -val1.re*val2.im + val1.im*val2.re;
     return CComplex(re / div, im / div);
 }
 
 ostream& operator << (ostream& os, CComplex comp)
 {
    std::cout << comp.Re();
    if (comp.Im() >= 0) {
        std::cout << '+';
        std::cout << comp.Im() << 'i';
    }
    else {
        std::cout << comp.Im() << 'i';
    }
    return os;
 }
 istream& operator >> (istream& is, CComplex& comp)
 {
    std::cin >> comp.re;
    std::cin >> comp.im;
    return is;
 }
 
 double CComplex::Re()
 {
    return re;         
 }
 
 double CComplex::Im()
 {
    return im;
 }
 
 void CComplex::AlgToExp()
 {
     re = sqrt(re*re + im*im);
     im = atan2(re,im);
 }
 
 void CComplex::ExpToAlg()
 {
     double deg = asin(1.0)/90;
     re = re*cos(im*deg);
     im = im*sin(im*deg);
 }
 
 int main()
 {
 CComplex a(3.0, 4.0);
 CComplex b;
 
 std::cout << "Enter a complex number (q to quit):\n";
 
 while (std::cin >> b)
 {
     std::cout << "b is " << b << '\n';
 
     std::cout << "a + b is " << a + b << '\n';
     std::cout << "a - b is " << a - b << '\n';
     std::cout << "a * b is " << a * b << '\n';
     std::cout << "2 * b is " << 2 * b << '\n';
     std::cout << "a/b is " << a / b << '\n';
 
     std::cout << "Enter a complex number (q to quit):\n";
 }
 
 std::cout << "Done!\n";
 return 0;
 }
 
Текущее время: 19:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru