Шаг 412.
Библиотека STL.
Числовые типы. Еще один пример использования класса complex

    На этом шаге мы рассмотрим еще одиин пример использования класса complex.

    Вторая программа в цикле читает два комплексных числа и вычисляет результат возведения первого числа в степень второго:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iostream>
#include <complex>
#include <cstdlib>
#include <limits>

#include <conio.h>   //необходимо для getch()

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;

std::string ToRus(const std::string &in)
{
  char *buff = new char [in.length()+1];
  CharToOem(in.c_str(),buff);
  std::string out(buff);
  delete [] buff;
  return out;
}

int main (int argc, char* argv[])
{

  complex<long double> c1, c2;

  while (cin.peek() != EOF) {

      // Ввод первого комплексного числа
      cin >> c1;
      if (!cin) {
        cerr << ToRus("Ошибка ввода") << endl;
        return EXIT_FAILURE;
      }

      // Ввод второго комплексного числа
      cin >> c2;
      if (!cin) {
          cerr << ToRus("Ошибка ввода") << endl;
          return EXIT_FAILURE;
      }

      if (c1 == c2) {
          cout << ToRus("c1 и c2 равны!\n") << endl;
      }

      cout << ToRus("Первое комплексное число c1: ") << c1 <<endl;
      cout << ToRus("Второе комплексное число c2: ") << c2 <<endl;
      cout << ToRus("c1 в степени c2: ") << pow(c1,c2)
           << endl << endl;

      // Пропуск оставшейся части строки
      cin.ignore(numeric_limits<int>::max(),'\n');
    }


  getch();
  return 0;
}

//---------------------------------------------------------------------------
Текст этого примера можно взять здесь.

    Результат выполнения программы выглядит так:


Рис.1. Результат работы приложения

    Обратите внимание: при вводе комплексного числа указывается либо только вещественная часть в виде отдельного значения (в круглых скобках или без), либо вещественная и мнимая части в круглых скобках, разделенные запятыми.

    Со следующего шага мы начнем знакомиться с операциями над комплексными числами.




Предыдущий шаг Содержание Следующий шаг