• ベストアンサー

c言語教えてください

C言語のBCC Developerで、「二つの三次元ベクトルの内積を計算する関数を作成する」をつくってもらえませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#30871
noname#30871
回答No.1

 代わりに作ってあげるのはできますが、それでは教育上ひじょーによろしくないのでヒントだけ。 1.内積の計算方法を確認する。  a = (a1, a2, a3)  b = (b1, b2, b3) とすると、これらの内積 a・b の値は  a1×b1 + a2×b2 + a3×b3 ですよね。これで、関数の中身(どんな計算をすればいいか)は決まりました。 2.関数の引数・返値の仕様を決める。  関数の中身が決まったので、次は関数の外側、つまり引数と返値です。  まず引数は、計算対象の値です。ここでは二つのベクトルの値です。ベクトルの定義は上記のとおりですから、合計で六つの変数が引数になりますね。  引数の数は決まりましたが、変数型はどうしましょうか。値が整数だと決まっていればintでいいのですが、ここではdoubleにしておきましょう。  つまり引数として、double型の変数が六つ並ぶことになります。  返値の変数型は、double同士の掛け算・足し算になるので、やはりdoubleになります。  以上で関数の外側も決まりました。

kokoanohana
質問者

お礼

ありがとうございました。C言語難しくて大変です。頑張って覚えていきたいです。

kokoanohana
質問者

補足

C言語を学ぶために、お薦めの参考書ありませんか?????

関連するQ&A

  • C++言語について

    ファイルから数値を読み込み、ベクトルの内積を計算するということに挑戦しています c0~c3の4つのベクトルから、いくつかを選びたし合わせたxを考える そのxをパターンベクトルに分解するプログラムを作成 R=x・c0 を全てのc0~c3まで行い、xがどのパターンベクトルからできているかを調べる と言う問題です どなたか分かる方がいたら、教えてください

  • C言語で内積、、、わかりません。

    C言語で内積、、、わかりません。 /* double配列 vecter1 のデータと double配列 vecter2 のデータ、 および、 vecter1,vecter2 の「要素数」を関数 naiseki_f に 引数として渡す。 関数 naiseki_f 内では、 vecter1 と vecter2 とによる 「double型の内積値」を計算し、その結果を戻り値とするものである。 main関数内では、関数naiseki_fで計算した「内積値」を printf表示させるプログラムを作成せよ。 */ /* 配列の合計を求める */ #include<stdio.h> double naiseki_f(const int vecter1[],const int vecter2[]); int main(void) { int i,kosuu=10; double vecter1[10]={0.5,0.48,0.54,0.32,0.32,0.46,0.88,0.45,0.90,0.23}; double vecter2[10]={0.24,0.34,0.26,0.78,0.43,0.67,0.88,0.95,0.45,0.75}; double a; a=naiseki_f(vecter1,vecter2); /* ベクトルの内積計算 */ for(i=0; i<kosuu; i++) printf("%5.3f %5.3f\n",vecter1[i],vecter2[i]); printf("内積=%8.3f\n",a); return (0); } /* 内積を計算 */ double naiseki_f(const int vecter1[],const int vecter2[]) { int i; double ###; ############; for(i=0 ; i<10 ; i++) ################# ; return (######); } かれこれ2時間くらい悩んでいるんですが 内積をどうやって計算するのか資料をみてもわかりません、、。 main関数内は自分が入力した部分もあるので多少間違ってるかもしれません。 よろしくお願いします。

  • C言語わくわくプログラミング

    今日、C言語わくわくプログラミングを買ってやり始めたのですが、 準備の時点で分からなくなってしまいました。 指定されたCDのソフトは全てインストールしたのですが、BCC Developerの環境設定の「デバッカ」のところに本書記入通り、 C:\borland\bcc55\Bin\TD32.EXE と入れたのですが、↑そのファイルが存在せず設定できません。 そのせいか、BCC Developerでの「メイク」後の「実行」ができません。 本当に初心者の質問で申し訳ありませんが、 分かる方がいたら、教えてください。お願いしますm(__)m

  • ベクトルを使ったプログラムの実用例について

    私は今、大学でベクトルの3次元ベクトルの合成、内積、なす角、ノルムが計算できるC言語のプログラムを作っています。 このプログラムを実用的に使うとしたら何に使えるのでしょうか? また、何を加えたら使えるプログラムにできるのでしょうか? よろしくお願いいたします。

  • C言語のことで…

    C言語のポインタの勉強をしているのですが、 9×9の整数型2次元配列を格納する関数kuku_makeを作成。 結果確認はmainで上記関数を呼び出して結果を表示。 void kuku_make(int kuku[][9]) 方向性だけでもいいので教えてください。

  • C言語ベクトルの内積計算について

    以下に示すベクトルx,yの内積を算出するプログラムを作成してください。ベクトルは配列として扱い、変数はすべてint型を用いて下さい。また、内積の算出には、void型関数を使用し、算出結果はコマンドライン上に出力すること。 x=(1,2,3),y=(5,6,7)

  • 情報処理 ポインタ渡しによる関数作成について

    現在、3次元ベクトルの外積計算をするプログラムを作成を行っています。 プログラムの仕様で (1)3次元ベクトルは、3成分をもつ配列として扱うこと (2)外積計算をする関数を作成すること。ただし、この関数は 2つの入力ベクトルと1つの出力ベクトル(=外積)を扱うものとする。(ポインタ渡し) (3)main関数内で、入力である2つの3次元ベクトルを設定し、外積計算の関数を呼ぶ。 (4)2つの入力ベクトル、およびその外積を表示すること。 を条件に作成しているのですが、どうもうまく作れません。 どのようにプログラムを作成すればよいのか 参考に教えて頂けるとありがたいです。 よろしくお願いします。

  • C言語にはJavaのような豊富なライブラリはないんでしょうか?

    C言語にはJavaのような豊富なライブラリはないんでしょうか? JavaにはTreeSet, Vector, LinkedListなどの便利なライブラリがありますが、C言語にはこういったのはないのでしょうか?string.hやstdio.hなどはあるのは知っていますが、Javaほどライブラリにある関数が少ないと思いますが、どうなんでしょう?CでLinked Listを使いときなどは自分で書くしかないのでしょうか?

  • VBAでC言語

    本日登録しました。よろしくお願いします。 質問ですが、エクセルVBAでいろいろ始めたのですが この中でC言語は利用できるのでしょうか。 計算をする事に使用したいのです。 勤怠管理で50人ほどの給与計算などを作ったのですが、 皆勤賞・精勤賞なども自動でやるので、関数も多様しています。 このためか、どうも動作がぎこち無いです。 C言語とかは計算が早いという事を聞いたので、 使うことが出来ないかと考えました。

  • 割り込みベクターをC言語で書きたい

     皆さん、有難う御座います。時々質問させて頂いています。  今回は、ベクターアドレスをC言語で書く方法について質問します。  ルネサスのH8マイコンを使っています。モニターを使うとRAM上に割り込みの仮想ベクターを作れます。  仮想ベクターには、割り込みのジャンプ先アドレスが書かれます。  現在アセンブラで書いているのですが、C言語で書く方法は無いでしょうか。  二つの方法で書きたいと思っています。  アセンブラで次の二つの方法に相当するC言語命令を知りたい。 (1)ORGとEQU命令を使った方法 (2)ムーブ(Z80ならロード)命令で関数のアドレスをメモリに書く方法  ルネサスにはHEWと言うソフトが有りますが、HEW特有の命令によらず、一般的なコンパイラが持っている機能で実現したい。  以上宜しくお願いします。

専門家に質問してみよう