ページ 11

課題

Posted: 2010年7月08日(木) 10:07
by
すみませんが…、課題ができなくて、教えていただけませんか??

次のパズルを縦型探索により解くプログラムを作成しなさい。
「男女のペア3組(6人)が2人乗りボートで対岸に渡るのにはどのような順で渡ればよいか??
ただし、女性は1人では向こう岸に渡れない(しかし、戻ってくることは可能)
また、女性は他のペアの男性とは一緒に乗れないとする。」

プログラムは途中まで作ったのですが…エラーが発生します。

何がおかしいのか教えていただけませんか??

また、プログラムで足りない部分などお気付きになった時には教えていただけないでしょうか??

Re:課題

Posted: 2010年7月08日(木) 10:58
by さかまき
>プログラムは途中まで作ったのですが…エラーが発生します。
>何がおかしいのか教えていただけませんか??

(1) サブルーチン「move_boat」 が未定義です。⇒とりあえずコメントアウト
(2) サブルーチン名 「move_man1 & *move_man2」はNGです。
   move_man1and2 みたいに書き換えましょう。(計6箇所)

以上でコンパイルは出来ちゃいました。
move_man1 & *move_man2 他5個のサブルーチンは使われていないですね。

>プログラムで足りない部分など・・・
上記、使われていない関数を使用する必要があるのか、余分なのか?
縦型探索により解くプログラムの概要がよくわからないのでわかりません。
作成されたプログラムの処理概要を説明してもらえませんか?

Re:課題

Posted: 2010年7月08日(木) 11:05
by ookami
あれっ なんだかデジャヴが...
とりあえず、気づいた範囲で...

関数の宣言で
struct Cell *move_man1 & *move_man2( struct Cell *s )
これはおかしいですね。

あと、mallocしているのにfreeが無いのはまずいですね。

Re:課題

Posted: 2010年7月08日(木) 11:28
by さかまき
よそに激似のプログラムがあったのですね。気付きませんでした。
蓮さん=晶さんじゃないですよね?
向こうをパクッたんだったら向こうが解決してからにしてはいかが?
人・オオカミ・ヤギ・キャベツより男・女の方が簡単だし。
(実際は男女間の問題はとっても複雑ですが)

Re:課題

Posted: 2010年7月08日(木) 13:15
by
すみません。
晶さんってどなたですか??
後、さかまきさんに言われたように変えたんですが…
プログラムのエラーが減っただけでコンパイルできませんでした。
他に間違った箇所があるかもしれないので、教えていただけないでしょうか??

Re:課題

Posted: 2010年7月08日(木) 14:31
by さかまき
>晶さんってどなたですか??
resno=55742さんです。ご存知ないとすれば他に原作者がいるってこと?

>後、さかまきさんに言われたように変えたんですが…
>プログラムのエラーが減っただけでコンパイルできませんでした。
>他に間違った箇所があるかもしれないので、教えていただけないでしょうか??

私は
サブルーチン名 「move_man1 & *move_man2」はNGです。
move_man1and2 みたいに書き換えましょう。(計6箇所)
と言いました。
「move_man1 and 2 and boat」に書き換えましょうとは言っていません。
直接言わなかったから誤解を招きましたが、関数名の途中に空白や*を含んではいけません。

>サブルーチン「move_boat」 が未定義です。⇒とりあえずコメントアウト
も直してありませんよ。私が言ったようには変えてありませんね。

move_man1をmove_man1andboatに書き換えたなら、MAINの中で呼んでいる
move_man1もmove_man1andboatに書き換えないとmove_man1は未定義に
なってコンパイルできません。結果エラーの個所は増えています。

Re:課題

Posted: 2010年7月08日(木) 14:34
by さかまき
>move_man1は未定義に
>なってコンパイルできません
コンパイルじゃなくリンクですね。

Re:課題

Posted: 2010年7月08日(木) 16:55
by スキマ妖怪
こういう書き込みはしたくないんだけどなぁ…(看過できなかったので)
↓こっちでは、解決されたんですか?(マルチポストされてますか?)

http://oshiete.goo.ne.jp/qa/6019407.html


もし、違ってたらごめんなさいm(_ _)m