掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.30176

複素数の四則演算
投稿者---kokosan60(2007/05/22 23:46:22)


複素数の四則演算(a+biとc+diの四則演算)について、for文を用いて表示するプログラムについて、???の部分に何を入れたらよいかわからず、うまく実行することができません。何を入れたらいいのでしょうか。それとも、このプログラムの別の場所で何か間違っているところはあるのでしょうか。おそらく、複素数の四則演算の計算部分は間違っていないと思います。
#include <stdio.h>
void fukuso(double a,double b,double c,double d,double *e,double *f,int keisan);

int main(void)
{
double a=4, b=8, c=4, d=3, e, f;
int i;

for(i=1;i<5;i++){
fukuso(a,b,c,d,&e,&f,???);
if(i==1) printf("和演算\n");
else if(i==2) printf("差演算\n");
else if(i==3) printf("積演算\n");
else printf("商演算\n");
printf("e=%f f=%f i\n",e,f);
}

return (0);
}

void fukuso(double a1,double b1,double a2,double b2,double *a3,double *b3,int keisan)
{
for(keisan=1;keisan<5;keisan++){
if(keisan==1){
*e=a+c;
*f=a+c;
}
else if(keisan==2){
*e=a-c;
*f=b-d;
}
else if(keisan==3){
*e=a*c-b*d;
*f=a*d+c*b;
}
else{
*e=(a*c+b*d)/(c*c+d*d);
*f=(-a*d+c*b)/(c*c+d*d);
}
}
}



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:複素数の四則演算 30177 yoh2 2007/05/23 00:06:56
<子記事> Re:複素数の四則演算 30183 bugs 2007/05/23 10:20:12
<子記事> Re:複素数の四則演算 30188 kokosan60 2007/05/23 19:32:05


No.30177

Re:複素数の四則演算
投稿者---yoh2(2007/05/23 00:06:56)


fukusoの定義中で使っている変数を、定義の先頭で宣言している仮引数名と合わせましょう。

つまり、main()の前で宣言している
> void fukuso(double a,double b,double c,double d,double *e,double *f,int keisan);

の仮引数名(a〜f)ではなく、
> void fukuso(double a1,double b1,double a2,double b2,double *a3,double *b3,int keisan)
> {
>     ...
> }

の先頭で宣言されている仮引数名(a1, b1, ..., b3, keisan)を使いましょう。
というか、混乱を避けるため、両者の名前は一致させておくのが無難です。


この投稿にコメントする

削除パスワード

No.30183

Re:複素数の四則演算
投稿者---bugs(2007/05/23 10:20:12)


>???の部分に何を入れたらよいかわからず、

プロトタイプ宣言から推測するに、和・差・積・商の
計算種別ではないでしょうか。

それから、fukuso()の中にある

>    for(keisan=1;keisan<5;keisan++){

このループは不要です。




この投稿にコメントする

削除パスワード

No.30186

Re:複素数の四則演算
投稿者---kokosan60(2007/05/23 17:38:36)


>プロトタイプ宣言から推測するに、和・差・積・商の
>計算種別ではないでしょうか。

計算種別とありますが、どのように書いたらいいのでしょうか。


この投稿にコメントする

削除パスワード

No.30187

Re:複素数の四則演算
投稿者---ぽへぇ(2007/05/23 18:51:20)



>計算種別とありますが、どのように書いたらいいのでしょうか。

>if(i==1) printf("和演算\n");
>else if(i==2) printf("差演算\n");
>else if(i==3) printf("積演算\n");
>else printf("商演算\n");

と書いた人に聞いてみてはいかがでしょうか。

それでもわからなければ、入門書からやりなおし。
こちらもお忘れなく。
http://www9.plala.or.jp/sgwr-t/c/sec11.html



この投稿にコメントする

削除パスワード

No.30188

Re:複素数の四則演算
投稿者---kokosan60(2007/05/23 19:32:05)


計算種別の部分が判明し、プログラムが正常に動きました。ありがとうございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧