C言語かなり初心者です。
ある課題で立体パズルの回答をC言語で解くという課題を課せられました
しかし初心者過ぎてまったく手つかずです。何から始めたらいいでしょうか
ちなみに立体パズルは”みんなで笑って、はいチーズ!”
というパズルゲームです。
よろしくお願いします
かなり初心者です
Re: かなり初心者です
>何から始めたらいいでしょうか
とりあえずフォーラムルールを読み,
課題の丸投げが禁止されている旨を理解することでしょうか.
とりあえずフォーラムルールを読み,
課題の丸投げが禁止されている旨を理解することでしょうか.
Re: かなり初心者です
>>自分でどこまでやったのか、今どこが解らないのかを明確にして下さい。
>>さっぱり解らず、手も足も出ない時は、その事を明記の上、
>>勉強方法からアドバイスを受けましょう。
というのを読み取り何から始めればいいのかお尋ねしたのですが
私は日本語から勉強しなおすべきですかね
申し訳ありませんでした
>>さっぱり解らず、手も足も出ない時は、その事を明記の上、
>>勉強方法からアドバイスを受けましょう。
というのを読み取り何から始めればいいのかお尋ねしたのですが
私は日本語から勉強しなおすべきですかね
申し訳ありませんでした
Re: かなり初心者です
意図はわかりましたが,もう少し明瞭に書けませんか.
少なくとも下記2点のいずれか,あるいは両方に問題があると想像します.
(1)アルゴリズムの内容を具体化する事
これはC言語に関して初心者であること とは全く無関係の事柄です.
何をどうすれば問題を解くことができるのかについて,
日本語で細部まで完全に具体的に書き下すことです.
この観点での他者からのアドバイスを要するのであれば,少なくとも問題を具体的に説明すべきに思います.
(2)C言語でプログラムを書くこと
(1)が完了したら,それをC化するだけです.
Cで書くことが本当に全く手も足も出ないということであれば,それはもう「C言語を1から勉強してください」としか言えません.
その勉強方法が問題なのだということであれば,何が知りたいのか(お勧めのWebサイトや本?)を明瞭に尋ねると良いかと思いますが,
課題であれば期日等あるでしょうから,現実的にはそんな悠長な話もしていられないように思いますし,
そもそも課題に取り組む状態下に置かれている時点で,C言語で全く何一つ書けない人物なのだとは思えません.
よって,
>>自分でどこまでやったのか、今どこが解らないのかを明確にして下さい。
ということになります.
少なくとも下記2点のいずれか,あるいは両方に問題があると想像します.
(1)アルゴリズムの内容を具体化する事
これはC言語に関して初心者であること とは全く無関係の事柄です.
何をどうすれば問題を解くことができるのかについて,
日本語で細部まで完全に具体的に書き下すことです.
この観点での他者からのアドバイスを要するのであれば,少なくとも問題を具体的に説明すべきに思います.
(2)C言語でプログラムを書くこと
(1)が完了したら,それをC化するだけです.
Cで書くことが本当に全く手も足も出ないということであれば,それはもう「C言語を1から勉強してください」としか言えません.
その勉強方法が問題なのだということであれば,何が知りたいのか(お勧めのWebサイトや本?)を明瞭に尋ねると良いかと思いますが,
課題であれば期日等あるでしょうから,現実的にはそんな悠長な話もしていられないように思いますし,
そもそも課題に取り組む状態下に置かれている時点で,C言語で全く何一つ書けない人物なのだとは思えません.
よって,
>>自分でどこまでやったのか、今どこが解らないのかを明確にして下さい。
ということになります.
Re: かなり初心者です
> しかし初心者過ぎてまったく手つかずです。何から始めたらいいでしょうか
> ちなみに立体パズルは”みんなで笑って、はいチーズ!”
アマゾンの画像からルールの一部を見ただけですが、
近いパズルに「箱入り娘」があります。
ググればプログラムや説明サイトが見つかりますので、
通過点として、箱入り娘のプログラムを完全に理解できるように
なってはどうでしょうか。
そののち、このパズル特有の転がす処理を追加することができれば、
特に難しいこともなく解けるのではないでしょうか。
転がす処理の練習として、サイコロを動かしましょう。
初期状態を「1が上、2が右」とした場合、「上右右下左...」などと転がしたとき、
どの位置にサイコロがあって何の目が出ているかをプログラムで求めます。
前提としてプログラムを読む能力と書く能力が必要です。
読む能力は、解説されているプログラムを正しく理解する力。
書く能力は、自分で思い描いたプログラムを形にする力。
これらが足りないとお望みのプログラムは絶対作れないと思います。
> ちなみに立体パズルは”みんなで笑って、はいチーズ!”
アマゾンの画像からルールの一部を見ただけですが、
近いパズルに「箱入り娘」があります。
ググればプログラムや説明サイトが見つかりますので、
通過点として、箱入り娘のプログラムを完全に理解できるように
なってはどうでしょうか。
そののち、このパズル特有の転がす処理を追加することができれば、
特に難しいこともなく解けるのではないでしょうか。
転がす処理の練習として、サイコロを動かしましょう。
初期状態を「1が上、2が右」とした場合、「上右右下左...」などと転がしたとき、
どの位置にサイコロがあって何の目が出ているかをプログラムで求めます。
前提としてプログラムを読む能力と書く能力が必要です。
読む能力は、解説されているプログラムを正しく理解する力。
書く能力は、自分で思い描いたプログラムを形にする力。
これらが足りないとお望みのプログラムは絶対作れないと思います。
Re: かなり初心者です
正直私はこのゲームのルールすら十分に理解出来ていなくて、amazonのルールを見ても、厳密には何を言いたいのかがよく分からない身です。
勝手に、チーズの穴の中にいるモンスターが上から見えるように転がす手を探索する方法だと解釈したのですが。
ただ、そうだとしたら、クレバーな方法では無いのですが、初心者の勉強としては打って付けの手法として、Brute-force searchをまず覚えるのが宜しいかと思います。
https://ja.wikipedia.org/wiki/%E5%8A%9B ... 2%E7%B4%A2 参照
このゲーム程度の規模なら、現実的な時間内に探索可能である事と、この方法は様々な問題に応用できるという汎用性から、初心者だからこそ実装してみると良いと思います。
ただ、上記のルールだと、もっとクレバーな方法もあるにはあるとは言えますけど、質問者様はまずBrute-force searchをマスターしてみると良いと思います。
それと、勝手に丸投げ認定してフォーラムルール読めと言っている人はフォーラムルール読んでるんですかね。
以下、フォーラムルールより抜粋
>~回答者様へのお願い~
>目指すは「アットホームで温かい」
>質問に対する回答が「規約読んでないなんて話になりませんね。」と書いてあるより
>「(とりあえず予測出来る回答をしてみて) 今回この点がよくわかりませんでしたから、次から規約を読んで私達にわかりやすいように質問して下さいね」と書いてあった方がずっと「規約を読もう」「質問を改めよう」と思ってくれると信じています。
>(これに甘えて何度も質問を改めない人には注意が必要でしょうが)
この質問に限った事では無いのですが、正直、見ていて質問者が不憫ですね。
まぁ、傍から見ると私も質問者を甘やかし過ぎている人だと思われているのだろうなという自覚はありますが。
勝手に、チーズの穴の中にいるモンスターが上から見えるように転がす手を探索する方法だと解釈したのですが。
ただ、そうだとしたら、クレバーな方法では無いのですが、初心者の勉強としては打って付けの手法として、Brute-force searchをまず覚えるのが宜しいかと思います。
https://ja.wikipedia.org/wiki/%E5%8A%9B ... 2%E7%B4%A2 参照
このゲーム程度の規模なら、現実的な時間内に探索可能である事と、この方法は様々な問題に応用できるという汎用性から、初心者だからこそ実装してみると良いと思います。
ただ、上記のルールだと、もっとクレバーな方法もあるにはあるとは言えますけど、質問者様はまずBrute-force searchをマスターしてみると良いと思います。
それと、勝手に丸投げ認定してフォーラムルール読めと言っている人はフォーラムルール読んでるんですかね。
以下、フォーラムルールより抜粋
>~回答者様へのお願い~
>目指すは「アットホームで温かい」
>質問に対する回答が「規約読んでないなんて話になりませんね。」と書いてあるより
>「(とりあえず予測出来る回答をしてみて) 今回この点がよくわかりませんでしたから、次から規約を読んで私達にわかりやすいように質問して下さいね」と書いてあった方がずっと「規約を読もう」「質問を改めよう」と思ってくれると信じています。
>(これに甘えて何度も質問を改めない人には注意が必要でしょうが)
この質問に限った事では無いのですが、正直、見ていて質問者が不憫ですね。
まぁ、傍から見ると私も質問者を甘やかし過ぎている人だと思われているのだろうなという自覚はありますが。
Re: かなり初心者です
オフトピック
見落としていましたが「課題」なんですね。
例えば専門学校の4月からの授業だとして、
この時期にこのパズルの解答を求めるプログラムを作らせるというのは、
結構不思議ですね。もしかして半期や通年の課題ですか?
専門学校の2年目で「C言語初級」コースを履修済みとかいう前提なら納得です。
差支えない範囲で背景を教えてもらえませんか。
例えば専門学校の4月からの授業だとして、
この時期にこのパズルの解答を求めるプログラムを作らせるというのは、
結構不思議ですね。もしかして半期や通年の課題ですか?
専門学校の2年目で「C言語初級」コースを履修済みとかいう前提なら納得です。
差支えない範囲で背景を教えてもらえませんか。
Re: かなり初心者です
オフトピック
>丸投げ認定
ご批判はごもっともですが,
場にルールに従っていない者が2名いる という御認識であるならば,
そのうちの一方だけを甘やかす理由は無いのではないでしょうかね.
個人的には,
このレベルの問題が課題として本当にガチの初心者に課されているという状況はかなり不自然だと感じますので
>手つかず (=自分ではなにもしていない)
で質問している状況は 丸投げ の範疇であろうと思ったまでです.
ご批判はごもっともですが,
場にルールに従っていない者が2名いる という御認識であるならば,
そのうちの一方だけを甘やかす理由は無いのではないでしょうかね.
個人的には,
このレベルの問題が課題として本当にガチの初心者に課されているという状況はかなり不自然だと感じますので
>手つかず (=自分ではなにもしていない)
で質問している状況は 丸投げ の範疇であろうと思ったまでです.
Re: かなり初心者です
質問者は既にusao氏から制裁を受けていた故の平等性だとお考え下さい。
不服なら私を「アットホームで温かい」の方向性を阻害したフォーラムルール違反者と糾弾して頂いても構いません。
私もフォーラムルール違反者になれば、全て対等な関係になれて宜しいでしょう。
ただ、
>手つかず (=自分ではなにもしていない)
の可能性は私も感じましたね。
それか、
A.Cの基礎を知った程度で知ったかぶりする事は出来ないという謙遜から初心者を自称し、アルゴリズムが分からないからヒントを求めている。(そうだとしたら、その学習への態度自体は悪くはないと私は思う。)
B.初心者を自称し手も足も出ない様子を演じる事で、分かり易く教えてくれると期待している。(某ソフトウェア作家は、そういう態度のユーザに怒り心頭だった。)
の可能性も感じた。
ただ、一番可能性が高いのは、
1.大学入ったぜ!!
2.大学って遊ぶところだろ? 社会に出たら遊べないんだから、今のうちに遊びまくろうぜ?
3.1~2年経過・・・周りの人達は、出された課題を自己解決出来るだろう境地に達している中、質問者は取り残されてしまった。
4.周りの人達は課題を熟しスキルアップを繰り返す中、質問者は課題を熟せず、差は開く一方。
5.先生から全員に「さぁ、今までの集大成を見せてみろ。」と投げられた課題が手も足も出ない。
というシナリオなのかなと。
ただ、コンピュータスキルって「ローマは一日にして成らず」の側面は大きいけど、そこから更に周りを出し抜くにはセンスは必要だと思うし、逆にセンスがあれば割と下剋上もし易い分野だと思うね。
自慢する気は全く無いけど、私なんかは、大学でCを習ったその年から、教員に頼まれて他の生徒を教える係になっていた身なので、授業の課題程度の問題を解くアルゴリズムやプログラムで悩んでいる人の気持ちを私はあまり理解出来ない。
この質問の課題も、私に言わせれば、アルゴリズム位なら誰かに訊かなくても、とりあえず解決する手続きを自力で考える事位は楽だと思うし、Cを使いこなせる様になった直後に出されても、直ぐにクリアできる課題だと思える。
しかし、私の大学時代の授業の、いつまで経っても屈託な課題しか出て来なかった状況を考えると、この課題を難題と考える人は一般論で言うならば多いのだろうとは思える。
ただ、そんな課題でも簡単だと思う人にとっては、簡単でしか無い問題と言えるでしょう。
そういう意味では、もしかしたら、軽く教えただけで「な~んだ、メッチャ簡単じゃん!!」とセンスが開花して質問者が下剋上する可能性は否定できないと思うよ。
つまり、質問者がセンスのある人なら、以下の2サイトを理解すれば、この課題は簡単に解決出来るのですよね。
Brute-force search→ https://ja.wikipedia.org/wiki/%E5%8A%9B ... 2%E7%B4%A2
C言語の解説サイト→ http://www.geocities.co.jp/SiliconValley-Bay/8490/c/
不服なら私を「アットホームで温かい」の方向性を阻害したフォーラムルール違反者と糾弾して頂いても構いません。
私もフォーラムルール違反者になれば、全て対等な関係になれて宜しいでしょう。
ただ、
>手つかず (=自分ではなにもしていない)
の可能性は私も感じましたね。
それか、
A.Cの基礎を知った程度で知ったかぶりする事は出来ないという謙遜から初心者を自称し、アルゴリズムが分からないからヒントを求めている。(そうだとしたら、その学習への態度自体は悪くはないと私は思う。)
B.初心者を自称し手も足も出ない様子を演じる事で、分かり易く教えてくれると期待している。(某ソフトウェア作家は、そういう態度のユーザに怒り心頭だった。)
の可能性も感じた。
ただ、一番可能性が高いのは、
1.大学入ったぜ!!
2.大学って遊ぶところだろ? 社会に出たら遊べないんだから、今のうちに遊びまくろうぜ?
3.1~2年経過・・・周りの人達は、出された課題を自己解決出来るだろう境地に達している中、質問者は取り残されてしまった。
4.周りの人達は課題を熟しスキルアップを繰り返す中、質問者は課題を熟せず、差は開く一方。
5.先生から全員に「さぁ、今までの集大成を見せてみろ。」と投げられた課題が手も足も出ない。
というシナリオなのかなと。
ただ、コンピュータスキルって「ローマは一日にして成らず」の側面は大きいけど、そこから更に周りを出し抜くにはセンスは必要だと思うし、逆にセンスがあれば割と下剋上もし易い分野だと思うね。
自慢する気は全く無いけど、私なんかは、大学でCを習ったその年から、教員に頼まれて他の生徒を教える係になっていた身なので、授業の課題程度の問題を解くアルゴリズムやプログラムで悩んでいる人の気持ちを私はあまり理解出来ない。
この質問の課題も、私に言わせれば、アルゴリズム位なら誰かに訊かなくても、とりあえず解決する手続きを自力で考える事位は楽だと思うし、Cを使いこなせる様になった直後に出されても、直ぐにクリアできる課題だと思える。
しかし、私の大学時代の授業の、いつまで経っても屈託な課題しか出て来なかった状況を考えると、この課題を難題と考える人は一般論で言うならば多いのだろうとは思える。
ただ、そんな課題でも簡単だと思う人にとっては、簡単でしか無い問題と言えるでしょう。
そういう意味では、もしかしたら、軽く教えただけで「な~んだ、メッチャ簡単じゃん!!」とセンスが開花して質問者が下剋上する可能性は否定できないと思うよ。
つまり、質問者がセンスのある人なら、以下の2サイトを理解すれば、この課題は簡単に解決出来るのですよね。
Brute-force search→ https://ja.wikipedia.org/wiki/%E5%8A%9B ... 2%E7%B4%A2
C言語の解説サイト→ http://www.geocities.co.jp/SiliconValley-Bay/8490/c/