約 2,853,767 件
https://w.atwiki.jp/sinapusu2002/pages/349.html
競技プログラムをどんなに頑張っても大工でいえば、細部の製造を習うようなもの。 書籍で簡素な犬小屋を作るレベルが多い。 自分でソフトを作るため、どこかで家の設計にあたるレベルの勉強や仕事場で家の設計レベルに参加する。 そういう実務のレベルを学ばない限り競技プログラムの問題を幾ら解いても意味がない。 会津大学オンラインジャッジの問題を636問自力で解いたがそういう範囲を学ばないとお金にならない。 勉強記録 2016年6月時点 楽しいRubyを一通り学び終えた。 次にJ言語を学ぼうと思ったが近隣の図書館に一冊もない。 しかたないので(なにが?)Cobolを学ぼうと思う。 Cobolは長大な文章をバッカスナウア記法に従って記述する能力を高めるのが大事なようだ。 J言語が無理ならRかな。 Rは書籍も豊富なのでRの入門書を図書館で借りようと思う。 あとerLangも学びたいな。 Prologは少しできるがPrologは時代遅れだし、書籍も図書館内での閲覧に限る貸出禁止図書になってて勉強しにくい、erLangなら図書館にもあるかもしれない、それにerLangは時代の寵児だしね。 C++のポインタと継承を賢く使ったプログラムもきちんと記述できるようになりたいな。 Lisp系統の言語の苦手意識もなくしたい。 SQLもちゃんと学ばねば。 TCP/IPも基礎教養として学ばないとな。 後GUIアプリできちんとしたものを一つは作らないと。 GUIソフト画面作りは苦手、苦手意識から勉強してない。 勉強しなくてはいけない物が多すぎるが人生の残り時間は短い。 どうしたものか。
https://w.atwiki.jp/m1000/pages/105.html
<<OPLで開発 プログラムの構成 OPLのプログラムは1つ以上のプロシージャによって構成されています。そしてOPLは実行するとコードの先頭にあるプロシージャを実行し、そのプロシージャの終端(ENDP)まで実行すると終了します。2つ目以降のプロシージャはサブルーチン扱いになり、それらは別のコードから呼び出されるまで実行されることはありません。 OPLでは変数を定義して使用することができます。変数はいわゆる「Double型」「Short型」「Long型」「Char型」が使用できます。そしてこれらは配列として使うことができます。更に「ローカル変数」「グローバル変数」「定数」として扱う事ができます(それぞれに対する宣言が必要)。また、ADDRコマンドを使用することによってC言語でのポインタと同じような事もできます。変数については「変数」の項を参照して下さい。 また他のOPLコードやOPXと呼ばれるC言語で作成された外部ライブラリを呼び出して使用することもできます。特にOPLはC言語越しにSymbianAPIを使用することができるので、実際に OPXについては「OPXについて?」の項を参照して下さい。 使用できる文字 変数やプロシージャ名には「アルファベット(A-Z)」「数字(0-9)」「アンダースコア(_)」しか使えません。また数字を先頭にすることは出来ません。(アンダースコアはOK) 大文字と小文字の区別 OPLでは大文字小文字の区別はありません。例えば変数名として「ABC」「abc」「aBC」は同様に扱われます。これはコマンド名も同様です。 コメント コメントを記述する時は「REM」コマンドを使用します。このコマンドの後に書かれた文はコメントアウトされます。 コーディング規約 OPLでのコーディングは以下の規約に従うのが良いとされています。 インデントは半角スペース4つ(ただしM1000は画面の幅が狭いので2つで良いと思われる) 変数名やプロシージャ名は小文字を使用し、単語の区切りには「_(アンダーバー)」を使う OPLのコマンド(キーワード)は全て大文字で表記する。 OPL掲示板
https://w.atwiki.jp/yasrun/pages/56.html
kidou.vbs このプログラムはノートンが反応してしまう・・・(笑) Set objShell = WScript.CreateObject("WScript.Shell") WScript.Echo "はじまり" objShell.Run "notepad.exe" WScript.Echo "おしまい" トータル - 今日 - 昨日 -
https://w.atwiki.jp/www-iris/pages/1312.html
「ホラ、ミタメガ イッショダカラ、イレカワッテテモ ダレモ キヅカナインデスヨ コレガ!」 【名前】 プログラムくん 【読み方】 ぷろぐらむくん 【分類】 用語 【登場作品】 ほとんど 【詳細】 電子機器の機能制御を司るプログラムの総称。 エグゼの世界では、現実世界におけるプログラムの役目を、このプログラムくん達が電脳世界の仕事として行っている。 ちなみにロックマン達も厳密にはこのプログラムくんと同じであり、「ネットワークナビゲーションプログラム」を略して「ネットナビ」と呼ばれている。 性別不明あるいは性別なしと思われるが詳細ははっきりしておらず、実際にロールに抱かれてデレているマグカップもある。うらやまけしからんとはこのことか 半球体のちょっと大きな顔に小さな体と足が付いてた見た目をしており、マスコットキャラクターのような可愛らしい印象を受ける。 なんといっても (°ヮ°) ←このおとぼけな感じの表情が、なおのことマスコット感を増している。 そして顔の上には平べったくて丸い耳が生えている。 + …と思いきや 「ワタシタチノ アタマニ ハエテルノッテ、「ミミ」ジャナインデスヨ…」 「ジツハ コレ、「テ」ナンデス!」 なんと『2』までは不明だった頭のアレが「耳」ではなく「手」という衝撃の真実(?)を教えてくれる電脳が、『3』の科学省内の存在する。 ちなみに、冒頭のセリフを言うプログラムくんも同じ電脳内に存在している。 何せプラグイン出来る場所が見つけにくい場所にあるので、プログラムくん達の秘密の休憩所として集まっているのである。 何気にその電脳にしか出ないウイルスも存在するため、チップトレーダーなしでチップコンプリートをするならば、なおのこと見つける必要がある。 作中で起きる電子機器のトラブルは大抵、 プログラムくんがウイルスや悪意のあるナビに妨害されている プログラムくんが休憩中、またはサボッている プログラムくんが迷子になっている のいずれかで発生しており、事件や事故に巻き込まれたケースは仕方ないとして、プログラムくんの過失である場合もある。 基本的には非力であり、「コノー! コノー!」と抵抗の意思を示しても、メットール系であろうとウイルス相手に成す術がない。(*1) そういった問題を解決するために、ネットナビを用いてのウイルスバスティングが求められるのである。 スタンドアローンの電子機器内の電脳から飛び出してインターネット内で迷子になっているという、恐るべき脱走能力を見せることもあるが…。 なお、プログラムくんがデリートされた場合、当然新しいプログラムくんを配置しなければならないはずだが、バックアップデータがあるかどうかは描写されてない。 プログラムの制御に必要な最低限の機能しか与えられていないという関係からか、セリフは全てカタカナ表記。 だがしかし、その個性はネットナビ達に引けを取らないレベルで多種多様。 迷子になって泣いている幼いプログラムくんもいれば、達観した考えを持った大人の対応をするプログラムくん、自己流の防衛術を身につけてウイルスやナビと戦う強いプログラムくん、はたまた恋に恋するプログラムくんもいたりする。 更に『6』では「博識になったおかげで全部カタカナ表記ではなく、ひらがなと漢字も使い分けてスラスラと喋るプログラムくん」「電脳獣復活の混乱に乗じて悪さを働くヒールナビ3人を1人(?)でのしてしまう超強者プログラムくん」なんかも存在。 ユーモアセンスのゲストとして「熱斗とロックマンのPETを動かしているプログラムくん」が登場したりもする。 体の色は基本的に黄緑色だが、様々な色の個体が居り、赤、青、白の3色の色違いが居る電脳も有る。 『4』以降は、レアなプログラムとも称される「金色のプログラムくん」なる存在も。 さて、プログラムくんの明るい部分に関して長々と説明してきたが、そこはネット犯罪も頻繁に起こるロックマンエグゼの世界。当然暗い部分も存在する。 特に奇数系列の作品で多く見られるのだが、その一例として 『1』:WWWに襲撃され、無残に破壊される。完全なデリート前のようで、まだ死骸(?)が残っている。 『1』:中途半端に壊されたためか、ゾンビのようにウイルス化して襲い掛かってくる者もおり、戦闘中にダメージを負いながら自壊していく。 『1』:上記のウイルス化について、「見かけたら迷わずデリートしてください」「これもプログラムの運命ですから」と各々で覚悟を決めている。 『3』:科学省の事件によって、発火に関するデータを組み込まれたことで体が燃えて跡形もなくなる(後継のプログラムくんから事の顛末を聞ける)。 『5』:廃坑となった鉱山の地下にある電脳内で、長年放置されて一人残されたプログラムくんが壊れかけながらなお仲間を探している。 『5』:ココロネットワークの影響はプログラムくんたちにも及び、あらゆる電脳のプログラムくんが凶暴化して日々の不満や鬱憤をぶち撒けている。 『5』:ダークチップを作る電脳の中で、闇の力に汚染されて廃人となってしまったプログラムくんがいる(仲間のプログラムくん達からも哀れな目で見られている)。 作品全般:悪の組織の本拠地内で働かされているプログラムくん達は、当然逆らうことも出来ずに悪いことを自覚しつつも命令をこなすしかない。 作品全般:PETという帰れる場所の存在するナビとは違い、電子機器が破壊されて電脳が消滅すれば、その中にいるプログラムくん達も運命を共にする。 …前述の通り、マスコットキャラのポジションとして活躍しているだけあって、見ていて心が痛む者ばかりである。 また、ゲーム版は外伝も含めてほとんどの作品に登場している一方、アニメ版には未登場。ただの一体も登場していない(*2)。 人によってはこちらの方がショックかも知れない。 【オマケ?】 また、完全なおまけ要素なのだろうが、『2』のウラインターネット6にプログラムくんが一人で佇んでいる。 話しかけると 「ギヌロ…ギヌロ…コウゲキシテコナイ?アナタヒョットシテイイナビ?」と聞いてくる。 いいえを選ぶと「ジャアイマノハナシデス ギヌロ…ギヌロ…」になり、はいを選ぶと「ホッ ヨカッタ…コシヌケタ… ハッタリ ツカレマス…」となる。 ウラ世界最深部唯一のプログラムくんなので戦闘能力は特例的にSランクは下らない可能性が高いが、どこの所属かは明かされなかった。 中立なので少なくともウイルスは仕掛けてくることはないが、味方になることもない。 あえていえば『5』のスワローマンポジションだろうか。 【余談】 200年後の流星のロックマンの世界では、プログラムくんに代わり新たに「デンパくん」がいる。 『流星2』では種類が増え、太った感じの「大容量デンパくん」、女の子の「デンパちゃん」、翼を生やしスカイウェーブにいる「スカイデンパくん」が新たに登場。『エグゼ』のプログラムくんにバリエーションを加えた感じ。 『流星3』ではさらに、デンパくんのノイズ版「ノイズム」、宇宙の電波(コスモウェーブ)の「コスモデンパくん」がそれぞれ新たに登場した。 いずれも『エグゼ』のプログラム同様、ユーモア溢れる会話をしてくれる。 『OSS』では、通信ミニゲーム「ロク★コロ」のキャッチコピーでプログラムくんとデンパくんが戦っているというものも存在する。
https://w.atwiki.jp/suretate1/pages/15.html
プログラム道場 プログラム初心者や自分自身のためにプログラムの事を載せる場所です。
https://w.atwiki.jp/maoasada/pages/24.html
2013-2014シーズンプログラム ショートプログラム: ノクターン 第2番 変ホ長調 作品9-2 by フレデリック・ショパン(Frederic Chopin) 振付 ローリー・ニコル(Lori Nichol) フリープログラム: ピアノ協奏曲第2番ハ短調作品18』 by セルゲイ・ラフマニノフ (Sergei Rachmaninov) 振付 タチアナ・タラソワ(Tatiana Tarasova) エキシビションプログラム: スマイル / What a Wonderful World 振付 ローリー・ニコル(Lori Nichol) 2012-2013シーズンプログラム ショートプログラム: アイ・ガット・リズム by ジョージ・ガーシュウィン(George Gershwin) 振付 ローリー・ニコル(Lori Nichol) フリープログラム: 白鳥の湖 by ピョートル・イリイチ・チャイコフスキー(Pyotr Ilyich Tchaikovsky) 振付 タチアナ・タラソワ(Tatiana Tarasova) エキシビションプログラム: メリー・ポピンズ メドレー 振付 ローリー・ニコル(Lori Nichol) 2011-2012シーズンプログラム ショートプログラム: シェヘラザード by ニコライ・アンドレイェヴィチ・リムスキー=コルサコフ(Scheherazade Nikolai Rimsky-Korsakovl) 振付 タチアナ・タラソワ(Tatiana Tarasova) フリープログラム: 愛の夢 by フランツ・リスト (Liebestraume Franz Liszt) 振付 ローリー・ニコル(Lori Nichol) エキシビションプログラム: Jupiter by Libera 振付 ローリー・ニコル(Lori Nichol) Waltz Op.64 No.2 Jazz Version by Chopin 振付 タチアナ・タラソワ(Tatiana Tarasova) 2010-2011シーズン プログラム ショートプログラム: タンゴ曲 by アルフレット・ガリエヴィチ・シュニトケ(Alfred Garyevich Schnittke) 振付 タチアナ・タラソワ(Tatiana Tarasova) フリープログラム: 愛の夢 by フランツ・リスト(Liebestraume Franz Liszt) 振付 ローリー・ニコル(Lori Nichol) エキシビションプログラム: バラード第1番ト短調 by フレデリック・ショパン (Ballade No.1 in G minor, op.23 Frederic Chopin) 振付 タチアナ・タラソワ(Tatiana Tarasova) 2009-2010シーズン プログラム ショートプログラム: 仮面舞踏会 by ハチャトゥリアン(Aram Ilich Khachaturian) 振付 タチアナ・タラソワ(Tatiana Tarasova) フリープログラム: 前奏曲(プレリュード) Op.3-2「鐘」 by ラフマニノフ (RACHMANINOV Prelude in C Sharp Minor, Op.3, No.2) 振付 タチアナ・タラソワ(Tatiana Tarasova) エキシビションプログラム: 「カプリース」 by 二コロ・パガニーニ 振付 タチアナ・タラソワ(Tatiana Tarasova) 2008-2009シーズン プログラム ショートプログラム 月の光(clair de lune) by クロード・ドビュッシー(Claude Achille Debussy) 振付 ローリー・二コル(Lori Nichol) フリープログラム 仮面舞踏会(Masquerade) by ハチャトゥリアン(Aram Ilich Khachaturian) 振付 タチアナ・タラソワ(Tatiana Tarasova) Exhibition カルロス・ガルデル作曲「Por Una Cabeza」(ポル・ウナ・カベーサ)=首の差 + フリアン・プラサ作曲「PAYADORA」(パジャドーラ)=吟遊詩人 振付 タチアナ・タラソワ(Tatiana Tarasova) Exhibition No2 シング・シング・シング(Sing, Sing, Sing) 作曲 ルイ・プリマ(Louis Prima) 振付 ローリー・二コル(Lori Nichol)
https://w.atwiki.jp/fftsukurou/pages/136.html
プログラムの現状 プログラマがいないため、企画が停滞気味になっています。プログラミングをしたい!という人は本スレ又はチャットにどうぞ。 本スレ 53がプログラマに名乗り出てくれました!また、実装物スレ 24が仕様を書いて下さっています。 課題 実装するプログラマがいない 安定して開発する体制が必要 これまでの経緯 名前 発言時期 備考 mmk2(マーク2)さん 1スレ目 232or365から10スレ目 314まで 初代プログラマ。マップ実装、旧マップエディタ開発など 虎さん 10スレ目 268から11スレ目 353まで 虎さんのページ で開発。mmk2さんのソースを引き継ぐ。マップ編集にPlatinum使用、戦闘プロトタイプ、Luaスクリプト導入など spinor 12スレ目 88から ここ で開発。オープンソース 名無しさん 13スレ目 53から 参考資料 ファイナルファンタジー V 戦闘システムの解析 ff_analyzer - ファイナルファンタジーIV~VI データ解析プログラム ff_analyzer+ - ファイナルファンタジー IV~VI アドバンス データ解析プログラム
https://w.atwiki.jp/wpw0/pages/14.html
C \Program Files\Koei\Winning Post World(デフォルトインストール位置)の中のファイルを見ると、1/26未明にマスターアップしているようです。 それから既に一ヶ月経過しているわけですが、パッチはいつ当たるのでしょうか。 このページでは、有志パッチの可能性まで考慮して、プログラムの解析情報をまとめていきます。 構造 インストールディレクトリ DATA →data1(暗号化された画像等のデータファイル) →data2(kvsファイル多し) →html →Movie(EDムービー等がそのまま入っててふいた) STcheck.wma WPWConfig.exe wpw.chm Readme.txt WPW.BIN 00000000.256 WPW.exe メモ さすがにパンピーの身では、複合化して抽出余裕でしたというわけにはいかないので、時間がかかりそう。 とりあえずグラフィック差し替えぐらいまではなんとかしたい。 どうでもいいがWPW.exeの00354550付近が気になった。
https://w.atwiki.jp/ce00582/pages/1237.html
public class tax{ public static void main(String[] args) { double th1[]=new double[11]; double th2[]=new double[11]; double y1[][]=new double[11][11]; double y2[][]=new double[11][11]; double c[][]=new double[11][11]; double z[]=new double[11]; double u[][][][]=new double[11][3][3][3]; double w[][][][]=new double[10][3][3][3]; double rw[][][][]=new double[11][3][3][3]; double v[][][][][]=new double[11][3][3][3][11]; int goto1[][][][][]=new int[11][3][3][3][11]; int goto2[][][][][]=new int[11][3][3][3][11]; int gotoc[][][][][]=new int[11][3][3][3][11]; int gotoq[][][][][]=new int[11][3][3][3][11]; double endv[][][]=new double[3][3][3]; int endc[][][]=new int[3][3][3]; int end1[][][]=new int[3][3][3]; int end2[][][]=new int[3][3][3]; int endq[][][]=new int[3][3][3]; int opc[]=new int[11]; int op1[]=new int[11]; int op2[]=new int[11]; int opq[]=new int[11]; int s1,s2,j; double tk,tl,tr; double w1,w2,l1,l2; int i,t1,t2,t3,t4; double b1,b2,c1,we; double tr1,tr2,tr3; double maxwel,maxtk,maxtl,maxtr,maxu,maxv; int n1,n2,n3,q,qx; double u1,u2,v1; double h; double ww; int sig1,sig2,m1,m2,m3,mx1,mx2,mx3,nx1,nx2,nx3; int pp; int check; int sumep,ep; for (s1=1;s1 11;s1++){ th1[s1]=0.2*s1; } for (s2=1;s2 11;s2++){ th2[s2]=0.1*s2; } maxwel=-999; maxtk=0; maxtl=0; maxtr=0; for (n1=10;n1 40;n1++){ for (n2=5;n2 30;n2++){ tk=0.01*n1; tl=0.01*n2; tr=trs(tk,tl,th1,th2); we=wel(tk,tl,tr,th1,th2);; if (we maxwel)maxtk=tk; if (we maxwel)maxtl=tl; if (we maxwel)maxtr=tr; if (we maxwel)maxwel=we; } } tk=maxtk; tl=maxtl; tr=maxtr; for (s1=1;s1 11;s1++){ for (s2=1;s2 11;s2++){ w1=(1-tk)*th1[s1]; w2=(1-tl)*th2[s2]; l1=1-(w1+w2+tr)/(3*w1); l2=1-(w1+w2+tr)/(3*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=0; if (i==2)l2=(w2-tr)/(2*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=(w1-tr)/(2*w1); if (i==2)l2=0; y1[s1][s2]=th1[s1]*l1; y2[s1][s2]=th2[s2]*l2; c[s1][s2]=w1*l1+w2*l2+tr; } } t4=0; h=0.001; while(t4 100){ sumep=0; for (s2=1;s2 =10;s2++){ maxv=-999; t2=0; while(t2 100){ for (s1=1;s1 =10;s1++){ maxu=-999; for (sig1=-1;sig1 =1;sig1++){ for (sig2=-1;sig2 =1;sig2++){ m1=s1+sig1; m2=s2+sig2; if (m1 10)m1=10; if (m1 1)m1=1; if (m2 10)m2=10; if (m2 1)m2=1; l1=(y1[m1][m2])/th1[s1]; l2=(y2[m1][m2])/th2[s2]; c1=c[m1][m2]; u1=ux(c1,l1,l2); if (s2==m2)u1=-999; if (u1 maxu)maxu=u1; } } z[s1]=maxu; } for (s1=1;s1 =10;s1++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1]; l2=(y2[s1][s2]+n2*h)/th2[s2]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); if (z[s1] u1)u1=-999; u[s1][n1+1][n2+1][n3+1]=u1; } } } } for (s1=1;s1 =10;s1++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ check=0; for (sig1=-1;sig1 =1;sig1++){ for (sig2=-1;sig2 =1;sig2++){ m1=s1+sig1; m2=s2+sig2; if (m1 10)m1=10; if (m1 1)m1=1; if (m2 10)m2=10; if (m2 1)m2=1; l1=y1[m1][m2]/th1[m1]; l2=y2[m1][m2]/th2[m2]; c1=c[m1][m2]; u1=ux(c1,l1,l2); l1=(y1[s1][s2]+n1*h)/th1[m1]; l2=(y2[s1][s2]+n2*h)/th2[m2]; c1=c[s1][s2]+n3*h; u2=ux(c1,l1,l2); if (s2==m2)u2=-999; if (u2 u1)check=100; } } if(check 50)u[s1][n1+1][n2+1][n3+1]=-999; } } } } for (s1=1;s1 =9;s1++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1+1]; l2=(y2[s1][s2]+n2*h)/th2[s2]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); w[s1][n1+1][n2+1][n3+1]=u1; } } } } for (s1=2;s1 =10;s1++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1-1]; l2=(y2[s1][s2]+n2*h)/th2[s2]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); rw[s1][n1+1][n2+1][n3+1]=u1; } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ for (q=-5;q =5;q++){ v[1][n1+1][n2+1][n3+1][q+5]=-999; } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ q=n1+n2-n3; v[1][n1+1][n2+1][n3+1][q+5]=u[1][n1+1][n2+1][n3+1]; } } } for (s1=2;s1 =9;s1++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ for (q=-5;q =5;q++){ u1=u[s1][n1+1][n2+1][n3+1]; qx=q-n1-n2+n3; pp=0; if (qx 5)pp=100; if (qx -5)pp=100; if (pp 10)qx=0; maxv=-999; mx1=0; mx2=0; mx3=0; for (m1=-1;m1 =1;m1++){ for (m2=-1;m2 =1;m2++){ for (m3=-1;m3 =1;m3++){ v1=u1+v[s1-1][m1+1][m2+1][m3+1][qx+5]; ww=w[s1-1][m1+1][m2+1][m3+1]; if (ww u1){ v1=-999; } if (rw[s1][n1+1][n2+1][n3+1] u[s1-1][m1+1][m2+1][m3+1])v1=-999; if (v1 maxv)mx1=m1; if (v1 maxv)mx2=m2; if (v1 maxv)mx3=m3; if (v1 maxv)maxv=v1; } } } if (pp 10)maxv=-999; v[s1][n1+1][n2+1][n3+1][q+5]=maxv; gotoc[s1][n1+1][n2+1][n3+1][q+5]=mx3; goto1[s1][n1+1][n2+1][n3+1][q+5]=mx1; goto2[s1][n1+1][n2+1][n3+1][q+5]=mx2; gotoq[s1][n1+1][n2+1][n3+1][q+5]=qx; } } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ u1=u[10][n1+1][n2+1][n3+1]; qx=n3-n1-n2; maxv=-999; mx1=0; mx2=0; mx3=0; for (m1=-1;m1 =1;m1++){ for (m2=-1;m2 =1;m2++){ for (m3=-1;m3 =1;m3++){ v1=u1+v[9][m1+1][m2+1][m3+1][qx+5]; ww=w[9][m1+1][m2+1][m3+1]; if (ww u1)v1=-999; if (rw[10][n1+1][n2+1][n3+1] u[9][m1+1][m2+1][m3+1])v1=-999; if (v1 maxv)mx1=m1; if (v1 maxv)mx2=m2; if (v1 maxv)mx3=m3; if (v1 maxv)maxv=v1; } } } endv[n1+1][n2+1][n3+1]=maxv; endc[n1+1][n2+1][n3+1]=mx3; end1[n1+1][n2+1][n3+1]=mx1; end2[n1+1][n2+1][n3+1]=mx2; endq[n1+1][n2+1][n3+1]=qx; } } } maxv=-999; nx1=0; nx2=0; nx3=0; for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ if (endv[n1+1][n2+1][n3+1] maxv)nx1=n1; if (endv[n1+1][n2+1][n3+1] maxv)nx2=n2; if (endv[n1+1][n2+1][n3+1] maxv)nx3=n3; if (endv[n1+1][n2+1][n3+1] maxv)maxv=endv[n1+1][n2+1][n3+1]; } } } opc[10]=nx3; op1[10]=nx1; op2[10]=nx2; opc[9]=endc[nx1+1][nx2+1][nx3+1]; op1[9]=end1[nx1+1][nx2+1][nx3+1]; op2[9]=end2[nx1+1][nx2+1][nx3+1]; opq[9]=endq[nx1+1][nx2+1][nx3+1]; for (j=1;j =8;j++){ s1=9-j; n1=op1[s1+1]; n2=op2[s1+1]; n3=opc[s1+1]; q=opq[s1+1]; opc[s1]=gotoc[s1+1][n1+1][n2+1][n3+1][q+5]; op1[s1]=goto1[s1+1][n1+1][n2+1][n3+1][q+5]; op2[s1]=goto2[s1+1][n1+1][n2+1][n3+1][q+5]; opq[s1]=gotoq[s1+1][n1+1][n2+1][n3+1][q+5]; } ep=0; for (s1=1;s1 =10;s1++){ ep=ep+opc[s1]*opc[s1]+op1[s1]*op1[s1]+op2[s1]*op2[s1]; } sumep=sumep+ep; for (s1=1;s1 =10;s1++){ c[s1][s2]=c[s1][s2]+opc[s1]*h; y1[s1][s2]=y1[s1][s2]+op1[s1]*h; y2[s1][s2]=y2[s1][s2]+op2[s1]*h; } if (ep 2)t2=1000; t2=t2+1; } } for (s1=1;s1 =10;s1++){ maxv=-999; t3=0; while(t3 100){ for (s2=1;s2 =10;s2++){ maxu=-999; for (sig1=-1;sig1 =1;sig1++){ for (sig2=-1;sig2 =1;sig2++){ m1=s1+sig1; m2=s2+sig2; if (m1 10)m1=10; if (m1 1)m1=1; if (m2 10)m2=10; if (m2 1)m2=1; l1=(y1[m1][m2])/th1[s1]; l2=(y2[m1][m2])/th2[s2]; c1=c[m1][m2]; u1=ux(c1,l1,l2); if (s1==m1)u1=-999; if (u1 maxu)maxu=u1; } } z[s2]=maxu; } for (s2=1;s2 =10;s2++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1]; l2=(y2[s1][s2]+n2*h)/th2[s2]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); if (z[s2] u1)u1=-999; u[s2][n1+1][n2+1][n3+1]=u1; } } } } for (s2=1;s2 =10;s2++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ check=0; for (sig1=-1;sig1 =1;sig1++){ for (sig2=-1;sig2 =1;sig2++){ m1=s1+sig1; m2=s2+sig2; if (m1 10)m1=10; if (m1 1)m1=1; if (m2 10)m2=10; if (m2 1)m2=1; l1=y1[m1][m2]/th1[m1]; l2=y2[m1][m2]/th2[m2]; c1=c[m1][m2]; u1=ux(c1,l1,l2); l1=(y1[s1][s2]+n1*h)/th1[m1]; l2=(y2[s1][s2]+n2*h)/th2[m2]; c1=c[s1][s2]+n3*h; u2=ux(c1,l1,l2); if (s1==m1)u2=-999; if (u2 u1)check=100; } } if(check 50)u[s2][n1+1][n2+1][n3+1]=-999; } } } } for (s2=1;s2 =9;s2++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1]; l2=(y2[s1][s2]+n2*h)/th2[s2+1]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); w[s2][n1+1][n2+1][n3+1]=u1; } } } } for (s2=2;s2 =10;s2++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ l1=(y1[s1][s2]+n1*h)/th1[s1]; l2=(y2[s1][s2]+n2*h)/th2[s2-1]; c1=c[s1][s2]+n3*h; u1=ux(c1,l1,l2); rw[s2][n1+1][n2+1][n3+1]=u1; } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ for (q=-5;q =5;q++){ v[1][n1+1][n2+1][n3+1][q+5]=-999; } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ q=n1+n2-n3; v[1][n1+1][n2+1][n3+1][q+5]=u[1][n1+1][n2+1][n3+1]; } } } for (s2=2;s2 =9;s2++){ for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ for (q=-5;q =5;q++){ u1=u[s2][n1+1][n2+1][n3+1]; qx=q-n1-n2+n3; pp=0; if (qx 5)pp=100; if (qx -5)pp=100; if (pp 10)qx=0; maxv=-999; mx1=0; mx2=0; mx3=0; for (m1=-1;m1 =1;m1++){ for (m2=-1;m2 =1;m2++){ for (m3=-1;m3 =1;m3++){ v1=u1+v[s2-1][m1+1][m2+1][m3+1][qx+5]; ww=w[s2-1][m1+1][m2+1][m3+1]; if (ww u1)v1=-999; if (rw[s2][n1+1][n2+1][n3+1] u[s2-1][m1+1][m2+1][m3+1])v1=-999; if (v1 maxv)mx1=m1; if (v1 maxv)mx2=m2; if (v1 maxv)mx3=m3; if (v1 maxv)maxv=v1; } } } if (pp 10)maxv=-999; v[s2][n1+1][n2+1][n3+1][q+5]=maxv; gotoc[s2][n1+1][n2+1][n3+1][q+5]=mx3; goto1[s2][n1+1][n2+1][n3+1][q+5]=mx1; goto2[s2][n1+1][n2+1][n3+1][q+5]=mx2; gotoq[s2][n1+1][n2+1][n3+1][q+5]=qx; } } } } } for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ u1=u[10][n1+1][n2+1][n3+1]; qx=n3-n1-n2; maxv=-999; mx1=0; mx2=0; mx3=0; for (m1=-1;m1 =1;m1++){ for (m2=-1;m2 =1;m2++){ for (m3=-1;m3 =1;m3++){ v1=u1+v[9][m1+1][m2+1][m3+1][qx+5]; ww=w[9][m1+1][m2+1][m3+1]; if (ww u1)v1=-999; if (rw[10][n1+1][n2+1][n3+1] u[9][m1+1][m2+1][m3+1])v1=-999; if (v1 maxv)mx1=m1; if (v1 maxv)mx2=m2; if (v1 maxv)mx3=m3; if (v1 maxv)maxv=v1; } } } endv[n1+1][n2+1][n3+1]=maxv; endc[n1+1][n2+1][n3+1]=mx3; end1[n1+1][n2+1][n3+1]=mx1; end2[n1+1][n2+1][n3+1]=mx2; endq[n1+1][n2+1][n3+1]=qx; } } } maxv=-999; nx1=0; nx2=0; nx3=0; for (n1=-1;n1 =1;n1++){ for (n2=-1;n2 =1;n2++){ for (n3=-1;n3 =1;n3++){ if (endv[n1+1][n2+1][n3+1] maxv)nx1=n1; if (endv[n1+1][n2+1][n3+1] maxv)nx2=n2; if (endv[n1+1][n2+1][n3+1] maxv)nx3=n3; if (endv[n1+1][n2+1][n3+1] maxv)maxv=endv[n1+1][n2+1][n3+1]; } } } opc[10]=nx3; op1[10]=nx1; op2[10]=nx2; opc[9]=endc[nx1+1][nx2+1][nx3+1]; op1[9]=end1[nx1+1][nx2+1][nx3+1]; op2[9]=end2[nx1+1][nx2+1][nx3+1]; opq[9]=endq[nx1+1][nx2+1][nx3+1]; for (j=1;j =8;j++){ s2=9-j; n1=op1[s2+1]; n2=op2[s2+1]; n3=opc[s2+1]; q=opq[s2+1]; opc[s2]=gotoc[s2+1][n1+1][n2+1][n3+1][q+5]; op1[s2]=goto1[s2+1][n1+1][n2+1][n3+1][q+5]; op2[s2]=goto2[s2+1][n1+1][n2+1][n3+1][q+5]; opq[s2]=gotoq[s2+1][n1+1][n2+1][n3+1][q+5]; } ep=0; for (s2=1;s2 =10;s2++){ ep=ep+opc[s2]*opc[s2]+op1[s2]*op1[s2]+op2[s2]*op2[s2]; } sumep=sumep+ep; for (s2=1;s2 =10;s2++){ c[s1][s2]=c[s1][s2]+opc[s2]*h; y1[s1][s2]=y1[s1][s2]+op1[s2]*h; y2[s1][s2]=y2[s1][s2]+op2[s2]*h; } if (ep 2)t3=1000; t3=t3+1; } } if (sumep 5)h=h/2; if (h 0.0001)t4=1000; t4=t4+1; } for (s1=1;s1 =10;s1++){ for (s2=1;s2 =10;s2++){ System.out.print(s1); System.out.print(","); System.out.print(s2); System.out.print(","); System.out.print(c[s1][s2]); System.out.print(","); System.out.print(y1[s1][s2]); System.out.print(","); System.out.println(y2[s1][s2]); } } } static double bud(double tk,double tl,double tr,double th1[],double th2[]){ double b1,w1,w2,l1,l2,c1; int s1,s2,i; b1=0; for (s1=1;s1 11;s1++){ for (s2=1;s2 11;s2++){ w1=(1-tk)*th1[s1]; w2=(1-tl)*th2[s2]; l1=1-(w1+w2+tr)/(3*w1); l2=1-(w1+w2+tr)/(3*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=0; if (i==2)l2=(w2-tr)/(2*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=(w1-tr)/(2*w1); if (i==2)l2=0; c1=w1*l1+w2*l2+tr; b1=b1+th1[s1]*l1+th2[s2]*l2-c1; } } return b1; } static double wel(double tk,double tl,double tr,double th1[],double th2[]){ double we,w1,w2,l1,l2,c1; int s1,s2,i; we=0; for (s1=1;s1 11;s1++){ for (s2=1;s2 11;s2++){ w1=(1-tk)*th1[s1]; w2=(1-tl)*th2[s2]; l1=1-(w1+w2+tr)/(3*w1); l2=1-(w1+w2+tr)/(3*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=0; if (i==2)l2=(w2-tr)/(2*w2); i=0; if (l1 0)i=i+1; if (l2 0)i=i+1; if (i==2)l1=(w1-tr)/(2*w1); if (i==2)l2=0; c1=w1*l1+w2*l2+tr; we=we+Math.log(c1)+Math.log(1-l1)+Math.log(1-l2); } } return we; } static double trs(double tk,double tl,double[] th1,double[] th2){ double tr1,tr2,tr3,b1,b2; int t1; tr1=0.1; tr2=0.05; b1=bud(tk,tl,tr1,th1,th2); t1=0; while(t1 100){ b2=bud(tk,tl,tr2,th1,th2); tr3=tr2-b2*(tr2-tr1)/(b2-b1); b1=b2; tr1=tr2; tr2=tr3; if (b2*b2 0.001)t1=1000; t1=t1+1; } return tr2; } static double ux(double c1,double l1,double l2){ int pp; double u1,cp1,lp1,lp2; pp=0; cp1=c1; lp1=l1; lp2=l2; if (lp1 0)pp=100; if (lp1 0.99)pp=100; if (lp2 0)pp=100; if (lp2 0.99)pp=100; if (pp 50)lp1=0.5; if (pp 50)lp2=0.5; u1=Math.log(cp1)+Math.log(1-lp1)+Math.log(1-lp2); if (pp 50)u1=-999; return u1; } }
https://w.atwiki.jp/jaw555/pages/15.html
C言語から外部プログラムを呼び出す ● systemを使う方法 ● popenを使う方法 外部プログラムを実行した結果、そのプログラムが標準出力等に出力した情報を使う場合は、popenが使える。 perlプログラムをCから呼び出す例: サンプルperlプログラム test.pl ----- #! bin/perl print "1 2 test\n" ----- (結果) 1 2 test C側の呼び出しプログラム caller.c ----- #include stdio.h int main(int argc, char* argv[]) { FILE* fp = NULL; int a,b; char str[256]; char line[256]; fp = popen ("./test.pl", "r"); fgets(line, sizeof(line), fp); sscanf(line, "%d %d %s", a, b, str); printf("a=%d, b=%d, str=%s\n",a, b, str); pclose(fp); return 0; } ----- (結果) a=1, b=2, str=test