• 締切済み

c++プログラミング

a-kumaの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

やや揚げ足取りの回答と取られかねないですが、No.2の方の回答はオブジェクトっぽく ないです。「円」と「長方形」がクラスになっている、というのは納得できるんです が、極かぎられた情報(内接する図形)が属性になっている、というのはいただけない。 class 円 { public:   円(中心の座標, 半径);   ~円();   長方形 get内接する長方形() const; }; class 長方形 { public:   長方形(ある角の座標, その対角の座標);   ~長方形();   円 get内接する円(パラメータがあるかも) const; }; ってな感じ。 あるオブジェクトの属性は、そのオブジェクトの性質を表すものです。 「ある長方形に内接する円」というのは、どう考えても属性では無いです。 更に、図形が長方形と円しか無い世界を考えるのであれば、 class 図形 { protected:   図形();   virtual 図形();   virtual 図形* get内接する図形() const; }; class 円 : public 図形 { public:   円(中心の座標, 半径);   ~円();   図形* get内接する図形() const; }; class 長方形 : public 図形 { public:   長方形(ある角の座標, その対角の座標);   ~長方形();   図形* get内接する図形() const; }; 図形* shape = 最初の図形; while(終了条件) {   shape = shape->get内接する図形();   図形の描画; } ってな感じにできるかと。 # ちなみに、円に内接する *長方形* は無限にあるので、それを特定する # 条件を何か考えなければ行けないですね

関連するQ&A

  • カーニハン・リッチー『プログラミングC言語』

    このサイトでの回答者のお薦めで、カーニハン・リッチー『プログラミングC言語』を買いました。この本には、本の中の練習問題の解答書が別に売っているようですが、これも買った方がいいでしょうか。教えて下さい。

  • 猫でもわかるC++プログラミングについて

    猫でもわかるC++ プログラミングで学習している初心者です。 そこで質問です。 Visual C++ 2010 Expressを使って学習していて、 自分では本に書かれている通りやっているつもりなのですが ビルドが問題なく成功しているのに デバッグをしてプログラムを実行すると そのプログラムが勝手に一瞬で終了してしまいます。 プログラムの実行結果が確認できず困っています。 何が間違っているのか自分では分かりません。 問題点が分かれば指摘していただけると嬉しいです。 よろしくお願いします。

  • Java言語プログラミングについて質問です

    次の問題をどう組んだらいいかわかりません。教えてください。 問.2次元上の円と長方形を表すデータファイルが与えられたとき、以下の処理を行うプログラムを作成せよ。ただし、長方形は必ず座標軸に並行変を持つとする。 1.全図形の合計面積を表示せよ 2.一番免責の大きい図形データを表示せよ 3.周の長さ順に図形データを表示せよ 4.重なり合ってるすべての円のペアを列挙せよ 5.重なり合っているすべての図形のペアも列挙せよ 図形データのフォーマットは以下のようなCSV形式で与えられているとする。 円  ID、1、中心点のX座標(double型)、中心点のY座標(double型)、半径(double型) 長方形 ID、2、左上の点のX座標(double型)、左上の点のY座標(double型)、右下の点のX座標(double型)、右下の点のY座標(double型) ただし、IDは図形間でユニークな整数値であるとする。 図形データの例 1. 1, 50, 0, 50, 0, 50.0 2. 2, -100, 0, 100, 0, 0, 0, 0, 0 3. 1, 0, 0, 0, 0, 10.0 4. 1, 50, 0, 0, 0, 30.0 5. 2, -75, 0, 75.0, -25.0, 25.0 まだ自分に知識がないので、この問題をどう組んだらいいかわかりません。教えてください。よろしくお願いします。解説とソースをお願いします。

  • C言語のプログラミング

    今、独学でC言語を勉強しています。それで、練習にと思い、損益分岐点計算をC言語で作ってみようと思い、作りました。以下が、私が作ったプログラミングです。 float tanka,hendo,kotei,ryo; printf("単価 ¥"); scanf("%d",&tanka); printf("変動費¥");scanf("%d",&hendo); printf("固定費¥");scanf("%d",&kotei); ryo=kotei/(tanka-hendo); printf("限界利益率は %3.1f%です\n",(1-hendo/tanka)*100); printf("損益分岐点時の販売量は%.0fです\n",ryo); printf("損益分岐点時の売上高は%.0fです\n",kotei/(tanka-hendo)); しかし、実行してみると、最後の「損益分岐点時の売上高」が0になってしまいました。 参考書などの問題ではないので、答えがなくて困っています。どこがおかしいのかが分かる方、ぜひ教えてください。

  • プログラミングC#が難しくて困っています。

    プログラミングをしたいと思い、独習C#を使ってプログラミングの勉強中です。 プログラミングは全くの初心者です。 他の入門書でもそうなのかもしれませんが、論理演算子やビット演算子、配列などの内容が書かれていますが、これらが一体何の役に立つのか分からなくて困っています。 読んでいても理解できないです。 本にケチを付けているわけではないです。 おそらく私にプログラミングのセンスがないんだと思います。 また、この本では、コンソールアプリケーションの説明が多いのですが、私はウェブアプリケーションに関心があります。 基礎だと思って読み進めるべきでしょうか? サンプルプログラムも地道に本の真似をして自分で打っていったほうがいいのでしょうか? わからないことがあってGoogleで調べても、理解できないです。 本当に、プログラミングが難しいです。 独習C#のような本は、全て理解する必要があるのでしょうか? 質問が多くなって申し訳ありません。

  • 円の直径を求める問題なのですが

    ○十年ぶりに算数の問題を解いてみたのですが、ひとつ分からない問題があります。図解ではなく言葉で問題を書くのは大変難しいのですが、次のような問題です。 円の中心から向かって右水平方向に線を引き円に内接します。これが半径です。内接したところから、左水平方向に3センチ戻ったところから、垂直下方向へ線を引き、円に内接します。そこから、水平左方向へ線を引き、円の中心から垂直下方向へ引いた線と先ほどの線が交わります。そこには長方形ができるのですが、交わった点から対角線を引くと、はじめの3センチの点と交わり、その対角線の長さが9.5センチになります。この場合の円の直径を求めよというものです。わかっている長さは3センチと9.5センチです。方程式を使って解くのでしょうか、もう、まったく思い出せません。どなたか、是非、教えてください。よろしくお願いします。

  • windowsプログラミングの入門書

    明けましておめでとうございます。 ちょっと遅いかもしれませんが(笑) 自分は3Dのゲームを作ろうと思い、ネットで調べたらC→C++→win32→directxの順番で勉強するのがいいと聞きました。 CとC++は1通り勉強しました。 次にwin32の勉強をしようと思い、本を買ったのですがどうやらwindowsシステムプログラミングの本で、しかも入門書ではありませんでしたOTL。8000円もしたのに~(笑) アマゾンやジュンク堂のwebサイトでwindowsプログラミングの入門書を調べたのですが、あっても1990年代の本しかなく、在庫ぎれもありました。 自分は無償のvisual studio 2008でしたいので、最近のwindowsプログラミングの入門書でvisual studio 2008を使って学べるいい本はあるのでしょうか?あっ、猫でも分かるプログラミングの本はアマゾンのカスタマーレビューを見て良くなさそうな本だったので、これ抜きでお願いします。 自分はdirectxの本が読める程度のwindowsプログラミングを学べる方法を探しています。よろしくお願いします。

  • C#でネットワークプログラミング

    C#でネットワークプログラムをしているものです。 本を読みながら勉強しているのですが C#だとTcpListener・TcpClientを用いれば 簡単にチャットを作れますよね。 で、他にも方法があって Socket通信と非同期なSocket通信というものが ありますが、 実際問題としてこの二つの違いというのが よくわかりません。 どっちでもいいじゃんと思えるのです。 違いをわかりやすく教えていただけると幸いです。 具体的にチャット(3人以上でできるもの) だとどれがどうとかありますでしょうか?

  • MACでのプログラミング C#など

    前回の質問でMACでの開発にPHP、JAVA、JSは問題ないということはわかりました。 http://okwave.jp/qa/q7928891.html C言語について ObjectCはC言語を拡張したものでC言語に機能を追加したようなものだと聞きました。 そうすると、MACではC言語の開発は出来るのでしょうか? 次にC#について 「Mono」を使ってC#を勉強するだけなら問題なくて、開発となるとVisualstudioの入っているWindowsが良い、ということですね。 ではMonoを使って開発した場合そのコードをVisualstudioに貼り付ければ動作するのでしょうか? わかる方教えて下さい。

  • C言語について

     プログラミング言語について質問があります。今、C言語を練習中ですが、C言語に関する本を見ると、大体、(入門者用の教科書しか知らないのですが)ファイル操作とか、構造体とかの説明とかで、終わっています。それで、自分はWindowsでグラフィック操作(例:動画とかを扱う)とかの、プログラムを組みたいのですが、C言語でそれができるのでしょうか。それともC++言語とか、Javaとか他の言語を習得しなければいけないのでしょうか。また、欲張りますが、C言語でグラフィック操作ができるのなら、どんな本を読めばいいのでしょうか。解らなかったので、投稿しました。よろしければ、回答宜しくお願いします。