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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Бирмингем
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 11
#1

Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента - C++

04.11.2010, 20:35. Просмотров 1466. Ответов 7
Метки нет (Все метки)

Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента, реализовать сложение, вычитание, деление и умножение комплексных чисел.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 20:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента (C++):

Создать класс для реализации комплексных чисел в алгебраической форме - C++
Создать класс для реализации комплексных чисел в алгебраической форме.Используя функции с объектом в качестве аргумента,реализовать...

Создать класс для реализации комплексных чисел в алгебраической форме - C++
Создать класс для реализации комплексных чисел в алгебраической форме. Используя перегруженные операции, реализуйте сложение, вычитание,...

Создать класс для реализации комплексных чисел - C++
Класс: Комплексное число, pr принимает значение в зависимости от представления числа: pr=1, алгебраическая, 0-тригонометрическая. ...

Передача комплексных чисел в производный класс для реализации векторов - C++
Дано задание: Написать программу создания класса для реализации комплексных чисел. Предусмотреть возможность сложения и вычитания...

Класс комплексных чисел в показательной форме - C++
Всем доброго времени суток, реализую класс комплексных чисел в показательной форме. Нужна помощь в проверке математики :wall: (особенно...

Создать класс комплексных чисел - C++
Создать класс,объекты которого моделируют комплексные числа с перегрузкой необходимых операций.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 418
Записей в блоге: 2
Завершенные тесты: 1
04.11.2010, 21:42 #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
#include "stdafx.h"
#include <conio.h>
#include "string.h"
#include <math.h>
struct complex1
{
    float a;//действительная часть
    float b;//мнимая часть
};
struct complex2
{
    float A;//амплитуда
    float f;//угол
};
 
struct complex1 func1(struct complex2 Q)
{
    struct complex1 W;
    W.a=Q.A*cos(Q.f);
    W.b=Q.A*sin(Q.f);
    return W;
}
struct complex2 func2(struct complex1 W)
{
    struct complex2 Q;
    Q.A=sqrt(W.a*W.a+W.b*W.b);
    Q.f=atan(W.b/W.a);
    return Q;
}
struct complex1 summ(struct complex1 W1,struct complex1 W2)
{
    struct complex1 W;
    W.a=W1.a+W2.a;
    W.b=W1.b+W2.b;
    return W;
}
struct complex1 raznost(struct complex1 W1,struct complex1 W2)
{
    struct complex1 W;
    W.a=W1.a-W2.a;
    W.b=W1.b-W2.b;
    return W;
}
struct complex1 proizvedenie(struct complex1 W1,struct complex1 W2)
{
    struct complex1 W;
    struct complex2 Q;
    struct complex2 Q1 = func2(W1);
    struct complex2 Q2 = func2(W2);
    Q.A=Q1.A*Q2.A;
    Q.f=Q1.f+Q2.f;
    W=func1(Q);
    return W;
}
struct complex1 delenie(struct complex1 W1,struct complex1 W2)
{
    struct complex1 W;
    struct complex2 Q;
    struct complex2 Q1 = func2(W1);
    struct complex2 Q2 = func2(W2);
    Q.A=Q1.A/Q2.A;
    Q.f=Q1.f-Q2.f;
    W=func1(Q);
    return W;
}
int _tmain(int argc, _TCHAR* argv[])
{
    complex1 W1;
    complex1 W2;
    puts("a");
    scanf("%f",&(W1.a));
    puts("\nb");
    scanf("%f",&(W1.b));
    puts("\n\na");
    scanf("%f",&(W2.a));
    puts("\nb");
    scanf("%f",&(W2.b));
    
    complex1 z1 = summ(W1,W2);
    complex1 z2 = raznost(W1,W2);
    complex1 z3 = proizvedenie(W1,W2);
    complex1 z4 = delenie(W1,W2);
    puts("\n a");
    printf("%10f%10f%10f%10f",z1.a,z2.a,z3.a,z4.a);
    puts("\n b");
    printf("%10f%10f%10f%10f",z1.b,z2.b,z3.b,z4.b);
    getch();
}
2
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
04.11.2010, 21:47 #3
VASSUV, молодец конечно! только надо класс
0
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 418
Записей в блоге: 2
Завершенные тесты: 1
04.11.2010, 22:14 #4
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
#include "stdafx.h"
#include <conio.h>
#include "string.h"
#include <math.h>
class complex1
{
        float a;//действительная часть
        float b;//мнимая часть
};
class complex2
{
        float A;//амплитуда
        float f;//угол
};
 
complex1 func1(complex2 Q)
{
        complex1 W;
        W.a=Q.A*cos(Q.f);
        W.b=Q.A*sin(Q.f);
        return W;
}
complex2 func2(complex1 W)
{
        complex2 Q;
        Q.A=sqrt(W.a*W.a+W.b*W.b);
        Q.f=atan(W.b/W.a);
        return Q;
}
complex1 summ(complex1 W1,complex1 W2)
{
        complex1 W;
        W.a=W1.a+W2.a;
        W.b=W1.b+W2.b;
        return W;
}
complex1 raznost(complex1 W1,complex1 W2)
{
        complex1 W;
        W.a=W1.a-W2.a;
        W.b=W1.b-W2.b;
        return W;
}
complex1 proizvedenie(complex1 W1,complex1 W2)
{
        complex1 W;
        complex2 Q;
        complex2 Q1 = func2(W1);
        complex2 Q2 = func2(W2);
        Q.A=Q1.A*Q2.A;
        Q.f=Q1.f+Q2.f;
        W=func1(Q);
        return W;
}
complex1 delenie(complex1 W1,complex1 W2)
{
        complex1 W;
        complex2 Q;
        complex2 Q1 = func2(W1);
        complex2 Q2 = func2(W2);
        Q.A=Q1.A/Q2.A;
        Q.f=Q1.f-Q2.f;
        W=func1(Q);
        return W;
}
int _tmain(int argc, _TCHAR* argv[])
{
        complex1 W1;
        complex1 W2;
        puts("a");
        scanf("%f",&(W1.a));
        puts("\nb");
        scanf("%f",&(W1.b));
        puts("\n\na");
        scanf("%f",&(W2.a));
        puts("\nb");
        scanf("%f",&(W2.b));
        
        complex1 z1 = summ(W1,W2);
        complex1 z2 = raznost(W1,W2);
        complex1 z3 = proizvedenie(W1,W2);
        complex1 z4 = delenie(W1,W2);
        puts("\n a");
        printf("%10f%10f%10f%10f",z1.a,z2.a,z3.a,z4.a);
        puts("\n b");
        printf("%10f%10f%10f%10f",z1.b,z2.b,z3.b,z4.b);
        getch();
}
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
04.11.2010, 23:18 #5
VASSUV, И где тут ООП? Функции вне класса причем все. Конструкторов/деструкторов нету... Вместо перегрузки операторов используются функции... А зачем?
2
Бирмингем
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 11
07.11.2010, 14:00  [ТС] #6
Так оно не правильное?
0
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 418
Записей в блоге: 2
Завершенные тесты: 1
07.11.2010, 20:59 #7
Так ты поставь перед объявлением переменных в объявлении класса
C++
1
public:
1
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 418
Записей в блоге: 2
Завершенные тесты: 1
07.11.2010, 23:13 #8
Цитата Сообщение от Бирмингем Посмотреть сообщение
Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента, реализовать сложение, вычитание, деление и умножение комплексных чисел.
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
#include "stdafx.h"
#include <conio.h>
#include "string.h"
#include <math.h>
class complex1
{
    friend class complex2;
    public:
        float a;//действительная часть
        float b;//мнимая часть
          complex1 operator+(complex1 W2){
                return complex1(a+W2.a,b+W2.b);}
 
          complex1 operator-(complex1 W2){
               return complex1(a-W2.a,b-W2.b);}
          complex1 operator*(complex1 W2);
          complex1 operator/(complex1 W2);
          complex1(float Aa,float Bb){
              a=Aa;
              b=Bb;}
          complex1()
          {}
    friend complex1 func1(complex2 Q);
    friend complex2 func2(complex1 W);
};
class complex2
{
    friend class complex1;
    public:
        float A;//амплитуда
        float f;//угол
          
    complex2(float Aa,float fF){
        A=Aa;
        f=fF;}
    complex2()
    {}
};
complex1 complex1::operator*(complex1 W2){
    complex2 Qq1= func2(complex1(a,b));
    complex2 Qq2= func2(W2);
    return func1(complex2(Qq1.A*Qq2.A,Qq1.f+Qq2.f));
}
complex1 complex1::operator/(complex1 W2)
{
      complex2 Qw1 = func2(complex1(a,b));
      complex2 Qw2 = func2(W2);
      return func1(complex2(Qw1.A/Qw2.A,Qw1.f-Qw2.f));
}
complex1 func1(complex2 Q){
    return complex1(Q.A*cos(Q.f),Q.A*sin(Q.f));}
 
complex2 func2(complex1 W){
   return complex2(sqrt(W.a*W.a+W.b*W.b),atan(W.b/W.a));}
 
int _tmain(int argc, _TCHAR* argv[])
{
        complex1 W1;
        complex1 W2;
        puts("a");
        scanf("%f",&(W1.a));
        puts("\nb");
        scanf("%f",&(W1.b));
        puts("\n\na");
        scanf("%f",&(W2.a));
        puts("\nb");
        scanf("%f",&(W2.b));
        
        complex1 z1 = W1+W2;
        complex1 z2 = W1-W2;
        complex1 z3 = W1*W2;
        complex1 z4 = W1/W2;
        puts("\n a");
        printf("%10f%10f%10f%10f",z1.a,z2.a,z3.a,z4.a);
        puts("\n b");
        printf("%10f%10f%10f%10f",z1.b,z2.b,z3.b,z4.b);
        getch();
}
Добавлено через 2 минуты
Цитата Сообщение от LIVERPOOL Посмотреть сообщение
1. Создать класс для работы с рациональными дробями (вида m/n). Закрытые данные класса: числитель, знаменатель, десятичный вариант дроби. Открытые функции класса: ввод числителя и знаменателя, вывод дроби в рациональном и десятичном вариантах с точность до 3 знака после запятой.

помогите сделать пожалуйста!!!
Cоздайте пожалуйста новую тему!!!
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2010, 23:13
Привет! Вот еще темы с ответами:

Максимальное из двух целых чисел, полученных в качестве аргумента. (функции) - C++
1)Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. (функции)

Создать класс комплексных чисел, перегрузить операторы -= и *= - C++
Добрый вечер. У меня есть некоторый вопрос. Надо создать класс комплексных чисел. Перегрузить операторы -= и *=. Первый получился. Но вот...

Создать функцию, имеющую два аргумента и возвращающую в качестве аргумента число из отрезка [a,b] - C++
Создать функцию, которая будет иметь два целочисленных параметра a и b, и в качестве своего значения возвращать случайное целое число из...

Класс для обработки комплексных чисел - C++
Дана задача написать класс для обработки комплексных чисел(вывод на экран, модуль числа, действия: &quot;+,-,*,/&quot;. Готовые коды находил, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.11.2010, 23:13
Ответ Создать тему
Опции темы

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