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

Класс комплексных чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нарисовать блок схему и написать программу которая находила сумму трёхзначных натуральных чисел http://www.cyberforum.ru/cpp-beginners/thread20974.html
1.Нарисовать блок схему и написать программу которая находила сумму трёх значных натуральных чисел. 2.Нарисовать блок схему и написать программу которая из трёх чисел находит максимальное.
C++ сформировать числовой вектор Задана булева матрица B. сформировать числовой вектор С у которого i-й элемент равен номеру левой единицы i-й строки матрицы В http://www.cyberforum.ru/cpp-beginners/thread20963.html
Как считать с текстового файла? C++
Подскажите, пожалуйста, как можно считать предложение из текстового файла. Вот задачка: Написать программу, подсчитывающую число запятых в текстовом файле.
Решение задачи на матрицу с помощью указателей C++
Помогите немного доделать вот такую задачку: Дана целочисленная квадратная матрица размерности nxn. Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. Без указателей я её решила, привожу программу: void main() { srand((unsigned)time(NULL)); //инициализация массива
C++ Погрешность при расчете интеграла. http://www.cyberforum.ru/cpp-beginners/thread20935.html
Помогите пожалуйста, никак не пойму как вписать погрешность в такую незамысловатую программу для вычисления площади между двумя кривыми. Программа считает эту самую площадь, но необходимо еще узнать ее с погрешностью 0,01.Есть метод Рунге,заключающийся в том что сначала интеграл считается с шагом h, а потом 2h. вот формула ((интеграл(h)-интеграл(2h))/3)<погрешность. Понимаю что должен...
C++ Задержка в микроседундах Подскажите,можно ли как-нибудь сделать задержку в 30-40 микросекунд?:help: подробнее

Показать сообщение отдельно
Lugburz
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 23
04.11.2009, 23:34     Класс комплексных чисел
Похожая задача - нужно реализовать класс комплексных чисел, но еще более тупым методом - написать ф-ции а не перегрузки операторов. Бага в следующем - в конце главной ф-ции получаю нули.

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
// Complex.h
 
class Complex{
 public: 
 int real, imag;
 Complex(int, int);
 void complex_add(Complex x);
 void complex_substract(Complex x);
 void complex_multiply(Complex x);
 void complex_divide(Complex x);
 void complex_display(Complex x);
};
 
void Complex::complex_add(Complex x){
 this->real+=x.real;
 this->imag+=x.imag;
}
 
void Complex::complex_substract(Complex x){
 this->real-=x.real;
 this->imag-=x.imag;
}
 
void Complex::complex_multiply(Complex x){
 this->real=this->real*x.real - this->imag*x.imag;
 this->imag=this->real*x.imag + this->imag*x.real;
}
 
void Complex::complex_divide(Complex x){
 real=(real*x.real+imag*x.imag)/(x.real*x.real+x.imag+x.imag);
 imag=(imag*x.real+imag*x.imag)/(x.real*x.real+x.imag+x.imag);
}
 
Complex::Complex(int r=0, int i=0){
 real=r;
 imag=i;
}
 
//laba3_2.cpp
 
#include <iostream>
#include "Complex.h"
//#include "laba3_1.cpp"
 
 //Complex x1();
 //Complex x2();
 
using namespace std;
 
void Complex::complex_display(Complex x){
 //cout<<"nn A ="<<a<<"n B = "<<b<<"n";
 cout<<"hit q to quit";
 cout<<"hit + to add A to B and to put result in An";
 cout<<"hit - to substract B from A and to put result in An";
 cout<<"hit * to multiply A to B and to put result in An";
 cout<<"hit / to divide A by B and to put result in A and the remainder in Bn";
}
 
int main(){
 int a,b,c,d;
 Complex x1;
 Complex x2;
 bool done=0;
 char command;
 do {
  cin>>command;
  switch(command){
  case 'Q': case 'q': {done=1; break;}
  case 'A': case'a': {cout<<"A="; cin>>a; break;}
  case 'B': case'b': {cout<<"B="; cin>>b; Complex x1(a,b); break;}
  case 'C' : case 'c' : {cout<<"C="; cin>>c; break;}
  case 'D' : case 'd' : {cout<<"D="; cin>>d; Complex x2(c,d); break;}
  case '+': {x1.complex_add(x2); done=1; break;}
  case '-': {x1.complex_substract(x2); done=1; break;}
  case '*': {x1.complex_multiply(x2); done=1; break;}
  case '/': {x1.complex_divide(x2); done=1; break;}
  }
 }
 while(!done);
 cout<<x1.real<<" "<<x1.imag<<" ";
 //cout<<x2.real<<" "<<x2.imag;
 return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru