Форум программистов, компьютерный форум 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). подробнее

Показать сообщение отдельно
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
15.01.2013, 12:46     Неправильно работает программа
У меня даже не скомпилировался ваш код. Пришлось убрать в некоторых местах Complex::, и еще добавить const к параметрам функций.

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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdio.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 (const Complex &c) // конструктор копирования
   {
      re = c.re; 
      im = c.im;
   }
   
   ~Complex() {}
   
   float abs() const// Модуль комплексного числа
   {
      return sqrt(re * re - im * im);
   }     
 
   void print(const Complex &c) const
   {
       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 = (const Complex &c)// перегрузка оператора присваивания
   {
      re = c.re;
      im = c.im;
 
      return (*this);
   }
 
   Complex operator + (const Complex &c) const// перегрузка оператора сложения
   {
      Complex temp;
 
      temp.re = re + c.re;
      temp.im = im + c.re;
 
      return temp;
   }
 
   Complex operator - (const Complex &c) const// перегрузка оператора вычитания
   {
      Complex temp;
 
      temp.re = re - c.re;
      temp.im = im - c.re;
    
      return temp;
   }
 
   Complex operator * (const Complex &c) const// перегрузка оператора умножения
   {
      Complex temp;
 
      temp.re = re*c.re;
      temp.im = re*c.im;
 
      return temp;
   }
 
    
 
   Complex operator / (const Complex &c) const// перегрузка оператора деления
   {
      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 &, const Complex &); // перегрузка оператора <<
   friend istream &operator>>(istream &, Complex &); // перегрузка оператора >>
 
};
 
ostream &operator<<(ostream &out, const 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;
}
 
Текущее время: 11:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru