- ベストアンサー
C言語を始めようver1.1.1.7で
C言語を始めようver1.1.1.7で 複素数の計算は可能でしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まず初めに、C言語での複素数はC99からC言語の規格に入ってますが、現状でC99をサポートしたコンパイラがどれだけあるのかは不明です。(GCCはサポートしてるみたいですが、VC++はサポートしてない) さて、「C言語を始めよう」というのはC言語学習用のコード編集ソフトですが、これ自体はC言語のライブラリとかコンパイル機能などの開発環境を持っていないので、別途「LSI-C86試食版」あるいは「Borland C++ Compiler 5.5」という無償提供されている開発環境を用意する必要があります。 このうち、「LSI-C86試食版」は非常に古いMS-DOS時代のコンパイラで、C言語の機能もスモールモデル(プログラム全体で64KBのメモリ空間しか使えない)しか作成できないという非常に機能の限られたものです。もちろん複素数はサポートされていません。 一方「Borland C++ Compiler 5.5」は、これに比べれば新しいですが、それでも10年ぐらい前に公開されたままのバージョンなので、C99の複素数には対応していないと思われます。ただ、こちらはC言語の開発にも使えるけど、本来はC++のコンパイラなので、C++のSTLの機能として複素数をサポートしています。 したがって、「Borland C++ Compiler 5.5」を用いてC++として作るなら、STLを使って複素数の計算を行うことが出来ます。 そうでない場合は、自分で計算処理を組む必要があります。
その他の回答 (3)
- samtomsan
- ベストアンサー率55% (1060/1897)
Borland/LSIとも使えたと思いますから、使えると思います。
- titokani
- ベストアンサー率19% (341/1726)
不可能ってことはないはず。 クラスがなくても構造体でできるし、構造体がなくても、doubleかfloatの変数を2つ組で使えばいいだけだし、sin,cos,powとかがなくても作ればいいし、たとえdoubleやfloatがなかったとしても、実数演算ルーチンを自分で作っちまえばいいわけで。
- admiral_ya
- ベストアンサー率56% (110/193)
> C言語を始めようver1.1.1.7 は知りませんが、C 言語は複素数を表す型がないので、構造体を使うのが一般的でしょう。 C++ では、クラスがありますが....。