マンガでよめる痔のこと・薬のこと

realとかimagで、各々入力するのではなく
実部と虚部とを一括して代入する書式は無いのでしょうか?
p
olarを使うと、余計な演算をさせているような感じがします。

A 回答 (4件)

現在のC++では complex.h でなく、 拡張子なしの complex です。


テンプレートで実現されていて

#include <complex>
int main(int argc,char *argv[]) {
std::complex <float> c(1.2,2.3),c2;
c = std::complex<float>(2.3,3.4);
c2 = c;
}

のように使います。
    • good
    • 0

dc1 = complex<double>(3.0, 2);

    • good
    • 0
この回答へのお礼

まさに、これでした。有難う御座います。

お礼日時:2004/10/15 22:06

すみません、書き方が古かったようです。


#include <complex.h>
#include <iostream>

void main(void){
complex<double> dc1(3.0, 2);
complex<double> dc2(1.0,-2);
complex<double> dc;

dc=dc1+dc2;
cout << dc << endl;
}
complex.hにしているのは、bcc32のためです
    • good
    • 0

double_complex dc(実部, 虚部);


の様に作れると思いますが。

この回答への補足

C言語ではなく、C++の標準ライブラリィーの場合には、どうなるのでしょう?

補足日時:2004/10/13 00:50
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC言語の複素数についてです。

C言語で複素数を使うことになりましたが、複素数をプログラム上でどう使うかわかりません。

粒子の複素屈折率を計算してシミュレーションするというものです。

その複素屈折率は
0.57+2.74i

と表されます。iが虚数です。

一般的にCプログラムで複素数を使えるようにする一番簡単な方法はなんでしょうか?
具体的に参考にできるプログラムコードとかあれば是非教えて下さい。
#define complex
とか使うのでしょうか?

おそらくcomplexというものを使うんだとは思います。実数部と虚数部を分けて考えるのでしょうか。

C言語、いまいちよくわからなくて……どなたか詳しい方、教えて下さい。

Aベストアンサー

C自体,以下の3種類の複素数型をサポートしています。
float _Complex
double _Complex
long double _Complex
ref) ISO/IEC 9899:1999 6. Lanugages / 6.2 Concepts / 6.2.5 Types / Paragraph 11
加減乗除は通常の演算子を利用して可能です。

虚数単位は<complex.h>で定義されるため,実質的には<complex.h>のインクルードが必要になります。
ref) 同 7.Library / 7.3 Complex arithmatic <complex.h> / Paragraph 4

ただし,複素数型はC99と呼ばれる,1999年改正の規格でサポートされた型です。
コンパイラによってはC99を(一切 or 部分的に)サポートしていない場合があります。
複素数型をサポートしていない倍,double _Complexなどの複素数型や,通常の演算子を使っての演算はできません。
その場合は,処理系が複素数演算のためのライブラリを独自に用意してくれているかもしれません。

C自体,以下の3種類の複素数型をサポートしています。
float _Complex
double _Complex
long double _Complex
ref) ISO/IEC 9899:1999 6. Lanugages / 6.2 Concepts / 6.2.5 Types / Paragraph 11
加減乗除は通常の演算子を利用して可能です。

虚数単位は<complex.h>で定義されるため,実質的には<complex.h>のインクルードが必要になります。
ref) 同 7.Library / 7.3 Complex arithmatic <complex.h> / Paragraph 4

ただし,複素数型はC99と呼ばれる,1999年改正の規格でサポートされた型です。
コンパイラに...続きを読む

Q複素数complex.hがおかしいのでしょうか?

C言語初心者です。
根本的に間違えているかと思いますが、下記内容で困ってます。
C++で複素数を扱いたいと思い
#include<complex.h>
うんだら
ふんだら
と書きました。
環境は、Borland C++ 5.6 for Win32だと思います。
メモ帳でソースを作って、コマンドプロンプトでbcc32 ***.c
とコンパイルしたのですが、ヘッダーファイルのエラー?が
出てるようです。(詳細は下記に示してます。)
おそらく根本的なエラーが出てるとはおもうのですが、
エラーの内容が理解できません。ヘッダーファイルがどこにあるのかも
わかりません。どうすればエラーがなくなるのか教えて頂きたいです。
よろしく御願い致します。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
エラー E2257 C:\Program Files\Borland\CBuilder6\Include\stl/_mbstate.h 52: , が必要
エラー E2453 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 64: '__true_type' 型のサイズは未知あるいはゼロ
エラー E2453 C:\Program Files\Borland\CBuilder6Include\stl/type_traits.h 65: '__false_type' 型のサイズは未知あるいはゼロ
エラー E2141 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 68: 宣言の構文エラー
          ・
          ・
          ・
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

C言語初心者です。
根本的に間違えているかと思いますが、下記内容で困ってます。
C++で複素数を扱いたいと思い
#include<complex.h>
うんだら
ふんだら
と書きました。
環境は、Borland C++ 5.6 for Win32だと思います。
メモ帳でソースを作って、コマンドプロンプトでbcc32 ***.c
とコンパイルしたのですが、ヘッダーファイルのエラー?が
出てるようです。(詳細は下記に示してます。)
おそらく根本的なエラーが出てるとはおもうのですが、
エラーの内容が理解できません。ヘッダーファイルがどこ...続きを読む

Aベストアンサー

> bcc32 ***.c

これが問題では?
.cだとCのソースと解釈されます。


人気Q&Aランキング