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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
noobchik
2 / 2 / 0
Регистрация: 15.06.2012
Сообщений: 23
17.06.2012, 14:21     Деление комплексных чисел #1
Вот код
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
#include <iostream>
#include <math>
using namespace std;
 
typedef struct { float re, im; } cmplx;
 
  cmplx cmplx_div( cmplx c, cmplx d ){
    float r, p;
    cmplx res;
 
    if( fabs(d.re) >= fabs(d.im) ){
      r = d.im / d.re;
      p = d.re + r * d.im;
      res.re = (c.re + r * c.im) / p;
      res.im = (c.im - r * c.re) / p;
    }else{
      r = d.re / d.im;
      p = d.im + r * d.re;
      res.re = (c.re * r + c.im) / p;
      res.im = (c.im * r - c.re) / p;
    }
    return res;
  }
  
int main()
{
   
    cmplx c={1,2};
    cmplx d={1,2};
    
    cout << cmplx_div(c, d ) << endl;
}
Что здесь не так?

Вот, что выдает:
--------------------Configuration: cmplx - Debug--------------------
Compiling...
cmplx.cpp
cmplx.cpp:2:16: math: No such file or directory
cmplx.cpp: In function `int main()':
cmplx.cpp:32: error: no match for 'operator<<' in 'std::cout <<
cmplx_div(cmplx, cmplx)(d)'
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:63: error: candidates
are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_ostream<_CharT,
_Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char,
_Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:85: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_ios<_CharT,
_Traits>&(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits
= std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:107: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::ios_base&(*)(std::ios_base&)) [with _CharT = char,
_Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:179: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:216: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:154: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(bool) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:178: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(short int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:189: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:193: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:204: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(unsigned int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:242: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long long int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:280: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:306: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(double) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:219: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(float) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:331: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(long double) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:356: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(const void*) [with _CharT = char, _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:128: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT =
char, _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:436: error:
std::basic_ostream<_CharT, _Traits>&
std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) [with _CharT =
char, _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:508: error:
std::basic_ostream<char, _Traits>&
std::operator<<(std::basic_ostream<char, _Traits>&, char) [with _Traits =
std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:447: error:
std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
_Traits>&, signed char) [with _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:452: error:
std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
_Traits>&, unsigned char) [with _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:580: error:
std::basic_ostream<_CharT, _Traits>&
std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) [with
_CharT = char, _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\bits\ostream.tcc:630: error:
std::basic_ostream<char, _Traits>&
std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with
_Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:486: error:
std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
_Traits>&, const signed char*) [with _Traits = std::char_traits<char>]
D:\MinGWStudio\MinGW\include\c++\3.3.1\ostream:491: error:
std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
_Traits>&, const unsigned char*) [with _Traits = std::char_traits<char>]
cmplx.cpp:33:2: warning: no newline at end of file

cmplx.o - 27 error(s), 1 warning(s)

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 14:21     Деление комплексных чисел
Посмотрите здесь:

C++ Класс комплексных чисел
C++ Структур комплексных чисел
Класс комплексных чисел C++
Калькулятор комплексных чисел C++
C++ Калькулятор комплексных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
17.06.2012, 14:26     Деление комплексных чисел #2
компилятор переживает ,что не может найти math.
надо исправить на :
C++
1
#include <math.h>
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
17.06.2012, 14:31     Деление комплексных чисел #3
ошибка в строке 31, убери её и всё будет компилироваться нормально

Добавлено через 1 минуту
чтобы работало как хочешь ты, надо перегрузить оператор вывода.
noobchik
2 / 2 / 0
Регистрация: 15.06.2012
Сообщений: 23
17.06.2012, 14:42  [ТС]     Деление комплексных чисел #4
Цитата Сообщение от David Sylva Посмотреть сообщение
чтобы работало как хочешь ты, надо перегрузить оператор вывода.
А поподробней? Я совсем недавно начал изучать c++
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
17.06.2012, 15:04     Деление комплексных чисел #5
У тебя конечно не совсем понятный код, но ошибка состоит в том, что ты хочешь обычным оператором вывода выводить структурный тип. Что бы решить проблему надо либо делать вывод в самой функции, либо перегрузить оператор вывода.
noobchik
2 / 2 / 0
Регистрация: 15.06.2012
Сообщений: 23
17.06.2012, 15:10  [ТС]     Деление комплексных чисел #6
Ясно, спасибо.
Yandex
Объявления
17.06.2012, 15:10     Деление комплексных чисел
Ответ Создать тему
Опции темы

Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru