A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ここのサイトの情報でボーランドのただソフトを入手して
複素数cプログラムを作ってみたのですが動きました
そのプログラムは
gomi.cpp:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<complex.h>
int main(void)
{
complex<double>j(0.0,1.0),z;
doublea,b,x,y;
printf("please input double number a\n");
scanf("%lf",&a);
printf("please input double number b\n");
scanf("%lf",&b);
z=a+j*b;
printf("abs(%lf+j*%lf)=%lf",a,b,abs(z));
getch();
return0;
}
(メモ帳で作成)
です
試してみてください
gomi.cppをコンパイルするには
bcc32 gomi
をリターンすればできます
実行は
gomi
をリターンすればいいのです
通常は
complex j(0.0,1.0),z;
でいけるのですがこの「ただコンパイラ」は
complex<double>j(0.0,1.0),z;
でないと駄目でした
下記サイトからダウンロードして試してください
参考URL:http://www.borland.co.jp/cppbuilder/freecompiler …
No.2
- 回答日時:
もしボーランドかマイクロソフトのコンパイラを使っているのなら
cとc++が統合されていますので
cでプログラムを組む場合であっても複素数型のクラスは使えます
クラスといってもほぼ通常の型と同じように使えます
使えるようにするには文頭で
#include <complex>
を記述しなければなりません
すると
complex x,y,z,j(0.0,1.0);
といったように複素数がていぎできます
double a=1,b=2,c=3.5,d=1.5;
として
x=a+j*b,y=c+j*d;
として
z=x*y;
といったように複素数の計算ができます
勿論
z=exp(j・b);z=exp(x);
とすることもできます
オイラーの式を知っているならばzの意味は分かると思います
ほかに関数
real、imag、conj、abs等もつかえます
相当便利ですよ
c++を知っていなくてもあたかも複素数型が一つ増えたかのように使えますよ
自分で複素数型を定義するにはやはりクラスで定義しないと駄目ですね
しかも自作の定義の場合abs、conj、real、imagなど
関連関数を(使いたいなら)自分で定義しなければなりません
簡単ですけど煩わしいですね
構造体で定義したものは通常の演算ができないし融通が利かないのでやめた方がいいでしょう
No.1
- 回答日時:
C言語では複素数型の変数を持っていませんから、実数のプログラムを拡張して複素数まで広げることはできません。
普通は複素数の実部と虚部を手計算で展開した式をプログラムに書き込まなければなりませんから大変面倒です。そこで、
(1)ここにある複素数計算パッケージが利用できる可能性はあります。自分で作るのであれば参考になるかもしれません。
http://www.mscom.or.jp/~tog/anna/CMPLX.C
(2)C99という1999年に規格化された言語に複素数の変数が規定されました。UnixであればGNUのC99コンパイラで使用することができるかもしれませんが、知人が挑戦して挫折していますので何か問題があるかもしれません。
http://seclan.dll.jp/c99d/
(3)C++ではComplexクラスを定義し、演算子をオーバーロードして複素数演算に拡張することができます。C++に慣れていればこちらはスムーズに実数演算を拡張できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# c言語で自然数nを入力、2以上n以下の偶数の累積sumを求めるプログラムをfor文を使って作りたいで 4 2022/11/09 14:10
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
difftime()について
-
至急です! マクロ定義で #defi...
-
方程式を2分法を用いて解くプロ...
-
float型とdouble型の変数の違い...
-
C言語を実行すると-infが出てき...
-
フロート演算について
-
浮動小数点の定数
-
型変換のitoaのaって?
-
c言語で、繰り返し文の中で、0....
-
c言語でユーザ関数を利用して複...
-
関数におけるif文とreturn文に...
-
C言語で
-
C言語について(三角形の面積・d...
-
二次関数で
-
C言語の型による処理速度の違い
-
3次方程式の求解プログラム(...
-
浮動小数点の比較について
-
fgets()による繰り返し入力(c言語)
-
C言語初心者 構造体 課題について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
c言語で、繰り返し文の中で、0....
-
C言語を実行すると-infが出てき...
-
doubleの変数にintとintの割り...
-
float型とdouble型の変数の違い...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
Cで3乗根を求める方法
-
C言語 関数プロトタイプ宣言の...
-
関数におけるif文とreturn文に...
-
至急です! マクロ定義で #defi...
-
-1.#IND00と出てしまうのですが...
-
2次方程式の解を求めるプログ...
-
2分法で方程式の複数の解を自...
-
doubleは常に%lfとするべきなのか
-
C言語で-23乗を取り扱うには
-
C++で外積
-
int とdoubleの比較
-
C言語のプログラムで#include<m...
-
方程式を2分法を用いて解くプロ...
おすすめ情報