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

Класс "Комплексное число". Как считать и записать данные в файл? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Namespace boost не содержит члена lexical_cast http://www.cyberforum.ru/cpp-beginners/thread1235057.html
.... #include "boost\lexical_cast.hpp" int main() { ..... m.insert(std::pair<int, std::string>(i, boost::lexical_cast<int>(i)); ..... }
C++ Предохранители. Задача с тимуса №1327 Ограничение времени: 1.0 секунды Ограничение памяти: 64 МБ Янус Полуэктович (не помню уже, А или У) воспользовался машиной только один раз. Он принес с собой небольшую полупрозрачную коробочку, которую присоединил к "Алдану". Примерно через десять секунд работы с этой приставкой в машине полетели все предохранители, после чего Янус Полуэктович извинился, забрал свою коробочку и ушел.... http://www.cyberforum.ru/cpp-beginners/thread1235015.html
снова крестили нолики C++
#include <iostream> using namespace std; int main () { int a,k=0; char mas; while(k<10) { for(int i=0;i<7;i++)
Операторы: выбрать правильный вариант C++
Помогите выбрать правильный вариант в этой задаче(и еще объясните, почему). Заранее спасибо. struct complex { double re,im; }; complex c1,c2; double x,y; Какой из операторов есть недопустимым: 1) с1.re=x;
C++ Какое значение будет иметь а? http://www.cyberforum.ru/cpp-beginners/thread1234978.html
Помогите выбрать правильный вариант в этой задаче(и еще объясните, как вы считали). Заранее спасибо. int a; int f(int x) { a=0; return x; } Какое значение будет иметь а, после: а=1;
C++ Напишите программу detab, заменяющую символы табуляции во вводимом тексте нужным числом пробелов Упражнение 1.20. Напишите программу detab, заменяющую символы табуляции во вводимом тексте нужным числом пробелов (до следующего "стопа" табуляции). Предполагается, что "стопы" табуляции расставлены на фиксированном расстоянии друг от друга, скажем, через n позиций. Как лучше задавать n — в виде значения переменной или в виде именованной константы? Помогите понять задание! '\t' - табуляция... подробнее

Показать сообщение отдельно
Vodmis
1 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 15
27.07.2014, 23:51     Класс "Комплексное число". Как считать и записать данные в файл?
Надо переделать код программы, чтобы данные шли из входного файла и записывались в выходной

Во входном файле 2 комплексных числа a и b. И думаю, их записать в виде,например,
1 3 2 4
5 3 6 2
И считать его в отдельные массивы или в один и тот же?
А в выходном файле записываются результаты вычислений с,d,f
Помогите с написанием самого кода вышеописанного..



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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
 
class Complex
{
    private:
    double Re;
    double Im;
    double Imj;
    double Imk;
    double Mod;
    public:
        Complex();
        Complex(double re,double im,double imj,double imk);
        void PrintComplex();
        double Modul();
        void Sopr();
   friend Complex operator+(Complex&Add1,Complex&Add2);
   friend Complex operator*(Complex&Add1,Complex&Add2);
   friend Complex operator-(Complex&Add1,Complex&Add2);
   friend Complex operator/(Complex&Addd1,Complex&Add2);
        };
        Complex::Complex()
        {
            Re=0;
            Im=0;
            Imj=0;
            Imk=0;
        }
        Complex::Complex(double re,double im,double imj,double imk)
        {
            Re=re;
            Im=im;
            Imj=imj;
            Imk=imk;
 
        }
        void Complex::PrintComplex()
        {
            if (Im<0&&Imj<0&&Imk<0)
            {
         printf("%.2lf %.2lf*i %.2lf*j %.2lf*k\n",Re,Im,Imj,Imk);
            }
            if (Im>0&&Imj>0&&Imk>0)
            {
         printf("%.2lf+%.2lf*i+%.2lf*j+%.2lf*k\n",Re,Im,Imj,Imk);
            }
               if (Im<0&&Imj>0&&Imk>0)
        {
            printf("%.2lf %.2lf*i+%.2lf*j+%.2lf*k\n",Re,Im,Imj,Imk);
            }
        if (Im<0&&Imj<0&&Imk>0)
            {
            printf("%.2lf %.2lf*i %.2lf*j+%.2lf*k\n",Re,Im,Imj,Imk);
 
            }
 
            if (Im>0&&Imj<0&&Imk<0)
            {
                printf("%.2lf+ %.2lf*i%.2lf*j %.2lf*k\n",Re,Im,Imj,Imk);
 
            }
               if (Im>0&&Imj>0&&Imk<0)
            {
                printf("%.2lf+%.2lf*i+%.2lf*j %.2lf*k\n",Re,Im,Imj,Imk);
 
            }
 
            if (Im>0&&Imk>0&&Imj<0)
            {
                printf("%.2lf+%.2lf*i %.2lf*j +%.2lf*k\n",Re,Im,Imj,Imk);//потвор
 
            }
            if (Im<0&&Imk<0&&Imj>0)
            {
                printf("%.2lf% .2lf*i+%.2lf*j %.2lf*k\n",Re,Im,Imj,Imk);
 
            }
        }
        double Complex::Modul()
        {
           Mod=(pow(Re,2)+pow(Im,2)+pow(Imj,2)+pow(Imk,2));
           return Mod;
                        }
        void Complex::Sopr()
        {
            Re=Re;
            Im=Im*-1;
            Imj=Imj*-1;
            Imk=Imk*-1;
            }
 
         Complex operator+(Complex&Add1,Complex&Add2)
         {
             Complex znach1;
             znach1.Re=Add1.Re+Add2.Re;
             znach1.Im=Add1.Im+Add2.Im;
             znach1.Imj=Add1.Imj+Add2.Imj;
             znach1.Imk=Add1.Imk+Add2.Imk;
             return Complex(znach1.Re,znach1.Im,znach1.Imj,znach1.Imk);
 
             }
             Complex operator*(Complex&Add1,Complex&Add2)
             {
             Complex znach1;
             znach1.Re=((Add1.Re*Add2.Re)-(Add1.Im*Add2.Im)-(Add1.Imj*Add2.Imj)-(Add1.Imk*Add2.Imk));
             znach1.Im=((Add1.Re*Add2.Im)+(Add1.Im*Add2.Re)+(Add1.Imj*Add2.Imk)-(Add1.Imk*Add2.Imj));
             znach1.Imj=((Add1.Re*Add2.Imj)+(Add1.Imj*Add2.Re)+(Add1.Imk*Add2.Im)-(Add1.Im*Add2.Imk));
             znach1.Imk=((Add1.Re*Add2.Imk)+(Add1.Imk*Add2.Re)+(Add1.Im*Add2.Imj)-(Add1.Imj*Add2.Im));
             return Complex(znach1.Re,znach1.Im,znach1.Imj,znach1.Imk);
             }
             Complex operator-(Complex&Add1,Complex&Add2)
         {
             Complex znach1;
             znach1.Re=Add1.Re-Add2.Re;
             znach1.Im=Add1.Im-Add2.Im;
             znach1.Imj=Add1.Imj-Add2.Imj;
             znach1.Imk=Add1.Imk-Add2.Imk;
             return Complex(znach1.Re,znach1.Im,znach1.Imj,znach1.Imk);
 
 
             }
             Complex operator/(Complex&Add1,Complex&Add2)
             {
               double q;
               double Mod;
              Complex znach1;
              Mod=Add2.Modul();
              Add2.Re=Add2.Re;
              Add2.Im=Add2.Im*-1;
              Add2.Imj=Add2.Imj*-1;
              Add2.Imk=Add2.Imk*-1;
              q=1/Mod;
             znach1.Re=(((Add1.Re*Add2.Re)-(Add1.Im*Add2.Im)-(Add1.Imj*Add2.Imj)-(Add1.Imk*Add2.Imk))*q);
             znach1.Im=(((Add1.Re*Add2.Im)+(Add1.Im*Add2.Re)+(Add1.Imj*Add2.Imk)-(Add1.Imk*Add2.Imj))*q);
             znach1.Imj=(((Add1.Re*Add2.Imj)+(Add1.Imj*Add2.Re)+(Add1.Imk*Add2.Im)-(Add1.Im*Add2.Imk))*q);
             znach1.Imk=(((Add1.Re*Add2.Imk)+(Add1.Imk*Add2.Re)+(Add1.Im*Add2.Imj)-(Add1.Imj*Add2.Im))*q);
             znach1.PrintComplex();
             Complex znach2;
             Add1.Re=Add1.Re;
             Add1.Im=Add1.Im*-1;
             Add1.Imj=Add1.Imj*-1;
             Add1.Imk=Add1.Imk*-1;
              znach2.Re=(((Add1.Re*Add2.Re)-(Add1.Im*Add2.Im)-(Add1.Imj*Add2.Imj)-(Add1.Imk*Add2.Imk))*q);
             znach2.Im=(((Add1.Re*Add2.Im)+(Add1.Im*Add2.Re)+(Add1.Imj*Add2.Imk)-(Add1.Imk*Add2.Imj))*q);
             znach2.Imj=(((Add1.Re*Add2.Imj)+(Add1.Imj*Add2.Re)+(Add1.Imk*Add2.Im)-(Add1.Im*Add2.Imk))*q);
             znach2.Imk=(((Add1.Re*Add2.Imk)+(Add1.Re*Add2.Re)+(Add1.Im*Add2.Imj)-(Add1.Imj*Add2.Im))*q);
             znach2.PrintComplex();
                         }
 
         int main()
         {
    Complex a(1,4,2,3);
    a.PrintComplex();
    Complex b(2,1,5,4);
    b.PrintComplex();
    Complex c=a+b;
    c.PrintComplex();
    Complex d=a*b;
    d.PrintComplex();
    Complex f=a-b;
    f.PrintComplex();
    Complex e=a/b;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru