メルセンヌ・ツイスタを使用した乱数をファイルに出力fputsの使い方が間違っています。いうか、この書式で出力したいのならfputsを使うべきではありません。書き換えるならfprintfを使用してコード:fprintf(fp,"%ld\n",genrand_int32());となります。※MT.hの内容が書かれていないので、プログラムで使用する関数がMT.hに定義されているものと想定して書いています。プログラムを実際に実行していないのでまだバグ等あるかもしれません。オセロの反転の考え方について返信遅くなりました。修正したプログラムを載せます。※時間がなかったため、一部しか修正していません。未実装(未修整)です。作成済みと思いますので、そちらと合体させてください。修正箇所についてはコメントにて記載しています。/**/でかかれたコメント部分が該当箇所(もともとのコメントと区別するため)です。オセロの反転の考え方について追記です終了判定が間違っていると思われます。・石の色が一色になった場合これを踏まえて修正するとプログラムは完成すると思います。オセロの反転の考え方について1つだけバグがありました。再度入力のときは問題ないのですが。プログラムを細かく見ていませんが、どこにも置けませんのときに、ターンが移ったあとの盤面の状態が表示されなかったので、そこらへんを見るといいかもしれません。オセロの反転の考え方について斜めについて、特段難しくはありません。右上の場合は、右と上の反転を合成すればいいだけなので。//処理}と書けばいいのです。処理のところは右上になるように変更する必要はありますが。処理1が終わった後に処理2を行うという意味になります。いう場合に対応できません。盤面検索の前に先に全てのPUTOKをEMPTYに変更してから盤面検索を行うと確実です。今のままだと正しい石探しが出来ていません。黒、白の値は1と-1にしたほうが反転のときに-1を掛けるだけで済むので楽です。ファイル書き込みの上書きについてかずまさん返信ありがとうございます。strchr関数を初めて知りました。これを使うほうが完結に書けますね。かずまさんのを使用させていただきます。ありがとうございました。2回以上呼ばれています。前にひとつだけ置くようにしてみてください。返信ありがとうございます。while(1)の前にのみfcloseを書くことで解決しました。※while(1)の前がif分のため、対応するelse文の後にもfclose書きました。ありがとうござました。簡潔にするのほうは無しにして、解決とさせていただきます。file_write.cの処理内容が仰々しいような感じがします。単純にできるように思います。boxさんおっしゃる通り、簡素化できないかとも思いましたが今の私の知識ではこれが精いっぱいです。※YNの処理を正しく行うため試行錯誤した結果です。何かありますでしょうか。1526ファイル書き込みの上書きについて久々の質問です。ファイル出力において、既存のファイルを上書きしようとすると、エラーが出て上書きされません。新規ファイルの場合は正しく出力されます。原因わかりましたら教えてください。情報の過不足ありましたら、提示いたしますので、返信ください。エネルギー関数の計算はいらないと思います。エネルギー関数を最小にする結合荷重の計算をプログラムで行っているからです。ニューロン数を増やす必要があると思います。ポインタについての質問そもそもreturn文の使い方が間違っています。Cではreturn文では1つしか値を返すことができません。返却値で返す必要はありません。ついてあまり理解できていません。whileでループし、特定の値が入力されたら入力を終了するというのがあります。入力直後に毎回関数を呼ぶ場合は文字列の変数(char[])に代入させればいいと思います。※言語の指定がなかったため、C言語であると想定して回答しています。>できればある程度プログラムが完成してからアップして欲しいです。ご要望あり次第アップいたしますので、その際はご連絡ください。私のプログラムのアルゴリズムは下記の本を参考にしています。DXライブラリでの作成となります。いちろうさんが書かれている通り、バックトラックの部分は人間らしくないのはその通りです。次のように作りました。高度な解法を実装することになります。詳しくは検索してみてください。&y);とする必要があります。間に,を入れるつまり1,2でないと正しく動作しません。ついて書いていませんでしたが、何時間勉強したかは覚えていません。通学時間が2時間あったため、その間でかなり勉強できていたとは思います。情報系のことを知らない人よりか勉強時間というのは短いのではないかと思いました。推測ですが基本情報のための勉強ということに絞ると70~100時間くらいではないかと思います。勉強に関しては午前についてがほとんどで、午後のための勉強というのは特に行ってはいませんでした。言うなら受験前から自己研鑽のためにC言語の勉強はしていましたが。取得していますが、午前の問題については過去問を解くだけで6割は取れると思います。いうのも、それなりの割合で過去問とまったく同じ問題(選択肢の順番も一緒)が出題されるからです。それ以外の問題でも、過去問に似た問題や過去問を解いていれば自然とわかる問題がほとんどです。以下に午前の過去問が解くことのできるサイトを挙げます。新品にこだわらなければそちらで買ってみてはいかがでしょうか?以下にリンクを貼っておきます。アドレスを用いた数値の入れ替え見た限り最初のソースで正解です。値そのものだけ値を交換しているのではなく、アドレスを交換することにより値を交換しています。値そのものだけ値を交換の場合は交換前p_a:10番地→100p_b:20番地→200交換後p_a:10番地→200p_b:20番地→100一方、アドレスを交換の場合は交換前p_a:10番地→100p_b:20番地→200交換後p_a:20番地→200p_b:10番地→100となります。ミクプラは自由にリンクできます。