Самостоятельная работа По Дисциплине: Программирования на тему: № Работа с численными классами. Класс complex


Download 432.11 Kb.
bet7/10
Sana23.12.2022
Hajmi432.11 Kb.
#1046730
TuriСамостоятельная работа
1   2   3   4   5   6   7   8   9   10
Bog'liq
Работа с численными классами. Класс complex - C.Бойзаков

2.7 Арифметические операции

Для комплексных чисел определены четыре базовые арифметические операции, а также операции изменения знака.


Таблица 5- Арифметические операции класса complex<>.

Выражение

Описание

с1+с2

Возвращает сумму с1 и с2

с1+1.7

Возвращает сумму с1 и 1.7

1.7 + с

Возвращает сумму 1.7 и с

c1 - с2

Возвращает разность c1 и с2

с - 1.7

Возвращает разность с и 1.7

1.7 - с

Возвращает разность 1.7 и с

c1 * с2

Возвращает произведение c1 и с2

с* 1.7

Возвращает произведение с и 1.7

1.7* с

Возвращает произведение 1.7 и с

c1 / с2

Возвращает частное от деления c1 на с2

с / 1.7

Возвращает частное от деления с на 1.7

1.7 / с

Возвращает частное от деления 1.7 на с

- с

Возвращает значение с с обратным знаком

+ с

Возвращает с

c1 += с2

Эквивалент c1 = c1 + с2

c1 -= с2

Эквивалент c1 = c1 - с2

c1 *= с2

Эквивалент c1 = c1 * с2

c1 /= с2

Эквивалент c1 = c1 / с2



2.8 Операции ввода-вывода

В классе complex определены стандартные операторы ввода-вывода << и >> .


Таблица 6- операции ввода-вывода класса complex<>



Выражение

Описание

strm << с

Записывает комплексное число с в выходной поток данных strm

strm >> с

Читает комплексное число с из входного потока данных strm

Оператор “>>” выводит комплексное число в поток данных в следующем формате:
(вещественная_часть , мнимая_часть)
Эквивалентная реализация оператора вывода выглядит так:
Листинг 6-эквивалентная реализация.
template
std::basic_ostream&
operator« (std: :basic_ostream& strm. const std: :complex c)
{
// Временная строка для выполнения вывода с одним аргументом
std: :basic_ostringstream s:
s.flags(strm.flags()); // Копирование флагов потока
s.imbue(strm.getloc()); // Копирование локального контеста потока
s.precision(strm.precision()); // Копирование точности потока
// Подготовка итоговой строки
s « '(' « с. real () « '.' « c.imag() « ')';
// Вывод итоговой строки strm « s.str();
return strm;
}

Оператор ввода читает комплексные числа в одном из представленных ниже


(вещественная_часть, мнимая_часть)
(вещественная_часть)
вещественная_часть
Если очередные символы во входном потоке данных не соответствуют ни одному из перечисленных форматов, устанавливается флаг ios::failbit, что может привести к соответствующему исключению.

К сожалению, вы не можете задать собственный разделитель для вещественной запятой в качестве «десятичной точки» (как, например, в Германии или России) вводимые/выводимые данные выглядят довольно странно. Например, комплексное число с вещественной частью 4.6 и мнимой частью 2.7 записывается в виде: (4.6.2.7).





Download 432.11 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling