Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Комплексные числа в классе, --------- 
:(
    Опции темы
nnnicolay
Дата 28.1.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Дали вот такое задание:
"Разработать класс, моделирующий работу с комплексными числами. Членами класса должны быть длинна вектора и угол наклона к оси реальных значений комплексного числа. Перегрузить для данного класса операторы ввода, вывода, сложения, вычитания, умножения, деления. Определить функцию преобразования комплексного числа в алгебраическую форму и его вывод "
А вот что у меня получилось:
class complex
{ 
float length; alpha;
float Re; Im;
}
void main()
{ complex z;
cin>>z;
cout<<"vvedite Re, Im"<<endl;
}

 
Помогите, что делать дальше?

PM MAIL   Вверх
APM
Дата 28.1.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 13.7.2007

Репутация: нет
Всего: 6



В классе должны быть всего две переменные: length, alpha. Остальное избыточно, Вам нужно работать в полярной системе координат, а не в прямоугольной. 

В объявлении переменных в классе допущена ошибка. Функция main впрочем тоже на работает так как надо.

Это сообщение отредактировал(а) APM - 28.1.2008, 20:01
PM   Вверх
anatox91
Дата 28.1.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: 1
Всего: 13



nnnicolay, 
не по теме: при добавлении сообщения есть справа кнопочка Код, обычно все ею пользуются для приведения примера кода  smile 


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
nnnicolay
Дата 28.1.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Мне предоставили такой пример, и сказали по аналогии сделать остальное. Подскажите что именно нужно заменить что бы получилась перегрузка операторов умножения или деления.
Код

#include <iostream>
using namespace std;
#include <math.h>

class complex
{
 public:
  float alpha, length;
 public:
  complex(float a, float b) : length(a), alpha(b) { }
 public:
  friend ostream& operator<<(ostream& dest, complex& z)
  {
   return dest << "(" << z.length*cos(z.alpha) << "+ " << z.length*sin(z.alpha) << "i)";
  }
};

int main()
{
 complex z(1, 0);
 cout << z << endl;
 cin.get();
 return 0;
}

PM MAIL   Вверх
georain
Дата 29.1.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Код

friend const complex operator * (const complex lh, const complex rh)
{ 
//тут пишешь код по умножению двух чисел (lh и rh)
//возвращаешь результат от умножения
};

это будет оператор умножения, если нигде не напутал, то должно работать

Код

complex a, b, c, d;
a = b * c;
a = b * c * d


точно также деление, сложение и вычитание, только заменяешь значок после оператора и код внутри скобок.
эти функции помещаешь внутрь класса.
const означает что ты не меняешь аргументы внутри функции и возвращаешь константу (потому что результат умножения изменить нельзя) 
PM MAIL   Вверх
archimed7592
Дата 29.1.2008, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Цитата(georain @  29.1.2008,  18:38 Найти цитируемый пост)
friend const complex operator * (const complex lh, const complex rh)

Не помешает передавать объекты по ссылке smile. Типо так: friend const complex operator * (const complex &lh, const complex &rh)


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Xenon
Дата 30.1.2008, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 1
Всего: 50



Начерта только френдом делать я не понимаю.


--------------------
user posted image  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.