ショッピングモール  


【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板1こちら


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

No.3007

もっと高度なプログラムにしたいです。
投稿者---初心者(2004/11/21 15:16:13)


ほとんどprintf文だけを使って、  "月と流れ星"(自作) というタイトルで、実行結果が次のようになる(つまらない)プログラムを作ったのですが、
                * *  *                             *  * *            
               *  *  *                              *  * *            
              *  *  *                                *  *  *          
             *  *  *                                  *  *   *           
           *   *   *         *****                                        
         *   *    *            *    *                    *                  
                                 *      *                * *        *         
            *                      *       *             *  *     * *          
          *  *                      *        *           *   *  *   *          
         *    *                      *         *         *     *   *            
  *******      *********             *          *        *        *              
   *                  *              *           *       *       *                
     *              *               *            *     *          *                 
       *          *                *            *    *             *                
        *       *                *             *   *********   * *  *               
       *   **    *              *           *              *   *   * *               
      *  *    *   *           *          *                 *  *       *              
     * *        *  *        *         *                    * *                         
    **            * *     **********                       **                          
                    *                                      *                             
これを極力 printf文 を使わないプログラムにしたいのです。
星の所は  10点の座標を設定して結ぶようにし、月は円を作る構文を使うと
思うのですが、私にはどうしても分かりません。 
 何も上に示した実行結果と全く同じになる必要はないので、なんとなく上の
ようになるプログラムであればどんなものでもいいので教えてください。
 出来れば、プログラムの所どころに  "/* 月の輪郭 */"のような、今どんな
プログラムを指しているのかの簡単な説明があると分かりやすくて助かります。
  どうか力を貸して下さい。




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:もっと高度なプログラムにしたいです。 3008 nop 2004/11/21 18:03:11
<子記事> Re:もっと高度なプログラムにしたいです。 3010 たいちう 2004/11/22 09:53:44


No.3008

Re:もっと高度なプログラムにしたいです。
投稿者---nop(2004/11/21 18:03:11)


とりあえず、まずはCの文法やアルゴリズム、
データ構造やオブジェクト指向等々、
高度なプログラムを書くための知識を身につけるのが先決でしょう。



それ以前に、

 何故、極力 printf() を使わないプログラムが高度

なのか、と言う事が理解に苦しみますが…。

# 高度なプログラムの定義を、是非教えていただきたいものだ。 (皮肉)


この投稿にコメントする

削除パスワード

No.3009

Re:もっと高度なプログラムにしたいです。
投稿者---RAPT(2004/11/21 20:05:18)


printf()を減らしたいだけなら。printf()1回で完結する方法。

#include <stdio.h>

int main()
{
    printf(
        "     * \n"
        "    *\n"
        "   *\n"
    );
    return 0;
}

数学的な話は、今回のケースでは関係無いかと。
数学的に、こうすれば解決するが、それをプログラムでどう表現すれば
よいか分からない、といった内容なら答えられるかもしれませんが。



この投稿にコメントする

削除パスワード

No.3010

Re:もっと高度なプログラムにしたいです。
投稿者---たいちう(2004/11/22 09:53:44)


気持ちは判らなくもないので、少しだけ。
多分こんな方向をお求めなのではないかと。

// キャンバスのつもり
char data[20][10];

// 初期化
for (i = 0; i < 20; i++)
    for (j = 0; j < 10; j++)
        data[i][j] = ' ';

// 絵を描く


// 表示
for (j = 0; j < 10; j++) {
    for (i = 0; i < 20; i++)
        printf("%c", data[i][j]);
    printf("\n");
}

まず、このような物を準備してはどうでしょう。
絵を描くの部分で、

for (i = 0; i < 10; i++)
    data[i][i] = '*';

こうすると、斜線が表示されるはずです。
線を引いたり円を描いたりする部分を関数化し、
これらを組み合わせて絵を描きます。

縦の線、横の線、矩形(塗りつぶし)、矩形(枠だけ)、
斜めの線、円(塗りつぶし)、円(円周だけ)、円弧、、、
このような順番で少しずつ機能を増やしていけるでしょう。
その気になれば。

普通はわざわざここまでやらないと思います。
コンソールで絵を描くよりもWinAPI等で絵を描いたほうが楽しいし簡単なので。
必要があったらまた訊いてください。



この投稿にコメントする

削除パスワード

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




掲示板提供:Real Integrity