アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語で、大きさ2の配列を2つ使って、複素数の四則演算のプログラムを作るのですが、配列をどう使うか分からず手が出せない状態です。

C言語を始めたばかりですので、基礎的なことしか分かりませんが、回答お願いします。

A 回答 (3件)

#まぁ普通は#1の通り構造体とかcomplex.hだろうと思いますが、「配列で」という課題なのだろうということで。


配列がc[2]で複素数がa+biならc[0]=a,c[1]=bのように、それぞれに実部と虚部を入れることを想定しているのでしょう。

あとは普通の複素数演算と同じ要領で。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

配列の使い方が分からなかったのですが、この回答を参考に作ってみようと思います。

お礼日時:2008/10/20 23:03

正攻法だと、



#include <complex.h>
#include <stdio.h>

int main(void)
{
 double complex a[2];
 a[0] = 1.0 + 1.0*I;
 a[1] = -1.0 + 2.0*I;

 double complex t;
 t = a + b;
 printf("%f + %fi\n", creal(t), cimag(t));
 t = a - b;
 printf("%f + %fi\n", creal(t), cimag(t));
 t = a * b;
 printf("%f + %fi\n", creal(t), cimag(t));
 t = a / b;
 printf("%f + %fi\n", creal(t), cimag(t));
 return 0;
}

ですね。
ただ、これだと大きさ2の配列を1つしか使っていません。

処理系不明なので正確なことはいえませんが、組み込み型で複素数が扱えるのであればそうすべきです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

<complex.h>を学んでいないので使うことができないんですが、この回答を参考に<complex.h>を勉強してみようと思います。

お礼日時:2008/10/20 22:55

複素数は構造体を使うのが普通ですよ。


検索すればいろいろでてくるでしょう。
最新のC言語規格だと複素数も標準で入ってるとか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

検索すると構造体や<complex.h>を使ったものが見つかるのですが、まだ学んでないので使えないんですよ。

お礼日時:2008/10/20 23:09

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