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

Неправильно работает программа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить расстояние от каждой скважины в групповой пункта и сумму этих расстояний http://www.cyberforum.ru/cpp-beginners/thread762245.html
1)Даны координаты 12 скважин (Хi, Yi, i = 1,2, ..., 12) и координаты группового пункта сбора нефти Xп, Yп. Определить расстояние от каждой скважины в групповой пункта и сумму этих расстояний. спасибо большое вам за помощь Простите за ошибку
C++ Решить уравнение на С++ (42*c-d/2+1)/(a*a-ln(b-5) ) http://www.cyberforum.ru/cpp-beginners/thread762218.html
Как ограничить тип данных шаблона класса? C++
Решил создать два класса: умный массив и его менеджер. Так как массив может хранить любые типы, то его сделал шаблоном: template <class Type> class SmartArray { public: Type *Array; }; Теперь пытаюсь создать класс менеджера, который должен работать ТОЛЬКО с моими умными шаблонами. Пишу так: template <class SmartArray<Type>> class ManagerArray {
C++ Сумма последовательности чисел
В стандартном потоке ввода задаётся последовательность целых чисел. Каждое число последовательности не меньше -20000000 и не больше 20000000. Всего последовательность состоит не более, чем из 40 чисел. Последовательность завершается признаком конца файла. В стандартный поток вывода напечатайте сумму этих чисел.
C++ Определите сколько раз в строке встречается данное слово http://www.cyberforum.ru/cpp-beginners/thread762205.html
Помогите. Определите сколько раз в строке встречается данное слово. Добавлено через 40 минут Правильно или нет? #include <vcl.h> #include <iostream.h> #include <conio.h> #include <string.h>
C++ Работа с многомерными массивами. Дана матрица размером М * N. Сформировать из этой матрицы вектор по правилу Дано матрицу размером М * N. Сформировать из этой матрицы вектор по правилу: первые N элементов вектора - это элементы матрицы первого порядка, вторые N элементов - элементы второй строки и т.д. (М = 4, N = 6). подробнее

Показать сообщение отдельно
yulla
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59
15.01.2013, 12:27     Неправильно работает программа
файл complex.h
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
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
 
class Complex // класс компелексных чисел
{
   double re, im; // целая и мнимая части
   
// создаем конструкторы   
public:
   
   Complex() {};
   
   Complex (double r) // конструктор по умолчанию
   {
      re = r; 
      im = 0;
   }
   
   Complex (double r, double i) // конструктор по умолчанию
   {
      re = r; 
      im = i;
   } 
   
   Complex (Complex &c) // конструктор копирования
   {
      re = c.re; 
      im = c.im;
   }
   
   ~Complex() {}
   
   float abs() // Модуль комплексного числа
   {
      return sqrt(re * re - im * im);
   }     
 
   void print(Complex &c)
   {
       if(c.im>0) printf("%f + %f i\n",c.re,c.im);
       else printf("%f  %f i\n",c.re,c.im);
 
   }
 
 
   Complex & operator = (Complex &c) // перегрузка оператора присваивания
   {
      re = c.re;
      im = c.im;
 
      return (*this);
   }
 
   Complex Complex::operator + (Complex &c) // перегрузка оператора сложения
   {
      Complex temp;
 
      temp.re = re + c.re;
      temp.im = im + c.re;
 
      return temp;
   }
 
   Complex Complex::operator - (Complex &c) // перегрузка оператора вычитания
   {
      Complex temp;
 
      temp.re = re - c.re;
      temp.im = im - c.re;
    
      return temp;
   }
 
   Complex Complex::operator * (Complex &c) // перегрузка оператора умножения
   {
      Complex temp;
 
      temp.re = re*c.re;
      temp.im = re*c.im;
 
      return temp;
   }
 
    
 
   Complex Complex::operator / (Complex &c) // перегрузка оператора деления
   {
      Complex temp;
 
      double r = c.re * c.re + c.im * c.im;
      temp.re = (re * c.re + im * c.im) / r;
      temp.re = (im * c.re - re * c.im) / r;
 
      return temp;
   }   
 
   friend ostream &operator<<(ostream &, Complex &); // перегрузка оператора <<
   friend istream &operator>>(istream &, Complex &); // перегрузка оператора >>
 
};
 
ostream &operator<<(ostream &out, Complex &c)
{
   if (c.im>0)
    
    out << "" << c.re << " + "<<c.im<<" i" <<"\n";
   else out << "" << c.re << " "<<c.im<<" i" <<"\n";
   
   return out;
}
 
istream &operator>>(istream &in, Complex &c)
{
   in >> c.re >> c.im;
   
   return in;
}

файл main

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
#include "complex.h"
#include "iostream"
using namespace std;
 
int main()
{
    Complex u(5,2);
    Complex v(3,-3);
 
    Complex x1(5);
    Complex x2(2.3);
    Complex x3(3);
    Complex x4(1);
    Complex x5(1.5);
    
    
    cout << u << " " << v << endl;
 
    // вывод числа двумя функциями
    u.print(u);
    cout<<u<<endl;
 
     
    cout << u + v << endl;
    
    cout << u - v << endl;
    
    cout << u * v << endl;
        
    cout << u/v << endl;
 
    cout << x1*u+x2*v << endl;   //5u + 2.3v
     
    cout << (x3+u*v)/(u+v) << endl;   //(3+uv)/(u+v)
 
    cout << x4/(u+x5*v) << endl;   //(u+1.5v)-1
    
    u = v;
    
    cout << u << " = " << v << endl;
    
   int i;
    cin>>i;
 
        return 0;
}
программа должна вычислять значения выражений, но вместо этого она выводит на экран числа, что нужно сделать, чтобы она работала правильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru