[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/28 17:45 / Filesize : 184 KB / Number-of Response : 883
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part45



1 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:57:16 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとC#,C♯,C#(初心者用) Part45
pc12.2ch.net/test/read.cgi/tech/1253522504/

804 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:37:02 ]
みなさん数学など好きそうですので、これ問題出されたので一緒に考えてくれませんか?ちなみに明日回答もわかります。
問.みなさん"囚人のジレンマ"という話はご存知かと思います。
コンビを組んでいたスパイが2人とも別々の取調室で尋問をうけ、罪を問われる場面でどのように振舞うのがいいかという問題です。
具体的には以下のようになります。
1、自分も相棒も黙秘となれば証拠不十分なので不法侵入した罪だけでそれぞれ半年ずつの罪
2、自分だけ黙秘して、相棒が自白すれば相棒は司法取引で釈放に、自分は10年の罪
3、相棒だけ黙秘して、自分が自白すれば自分は司法取引で釈放に、相棒は10年の罪(2の逆パターン)
4、両方自白すればそれぞれ5年の罪

┌──────┬──────┬──────┐
│自分\相棒  │.  黙 秘  ..│   自 白  .│
├──────┼──────┼──────┤
│  黙 秘   .│(0.5年,0.5年) │ (10年,釈放)│
├──────┼──────┼──────┤
│  自 白   .│ (釈放,10年) .│ (5年,5年)  │
└──────┴──────┴──────┘
(自分の懲役、相手の懲役)

これを踏まえて、自分は相棒に協調するか、裏切るか、ということでこれに点数をつけてゲームをしてみました。
┌──────┬──────┬──────┐
│自分\相棒  │  協 調    │  裏切り   │
├──────┼──────┼──────┤
│  協 調   .│ (3点,3点)  │ (0点,5点)  │
├──────┼──────┼──────┤
│  裏切り   .│ (5点,0点)  │ (1点,1点)  │
└──────┴──────┴──────┘
(自分の点、相棒の点)

このような点数のつけ方で100人のプログラマが、どのように協調、裏切りを判断するかというところでプログラムを書いて対戦会が行われました。
100人が総当りで、1人に対しては200回勝負するというルールです。つまり99×200の試合をするわけです。
賞金のかけられた本気で挑む大会出場者たち。これ実は実際に行われたことのあるものです。
さあ、みなさんどんなプログラムが優勝したでしょう?アルゴリズムを考えてください。

805 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:43:01 ]
宿題スレいけよハゲ

806 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:44:41 ]
あ、ちなみにすべての試合が終わった後、合計した点数が一番高かったプログラムが優勝だそうです
ぼくはすべて裏切りだと思いました。明日回答が教えてもらえるのでまた報告します。
一応プログラミングだと思って。この間アルゴリズムの質問してた方なんかもこれは結構いい問題のような気がします。
明日またレスします。おやすみなさい


807 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:47:49 ]
しなくていいよ。

しっぺ返しが強い、って記録もあるし。
ja.wikipedia.org/wiki/%E5%9B%9A%E4%BA%BA%E3%81%AE%E3%82%B8%E3%83%AC%E3%83%B3%E3%83%9E

808 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:49:33 ]
>>780
string xmlstr = "<root>・・・(省略)・・・</root>";
XPathDocument doc = new XPathDocument(new StringReader(xmlstr));
XPathNavigator nav = doc.CreateNavigator();
XPathExpression exp = nav.Compile("/root/data");
XPathNodeIterator nodes = nav.Select(exp);
while (nodes.MoveNext()) {
Console.WriteLine(nodes.Current.ToString());
}
こうかな?まあ、XPathを使う。

809 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:53:21 ]
>>804
相手が裏切るまでは強調する単純なアルゴリズムが結局一番強そう。

810 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:11:39 ]
単にランダムに出すだけとか

811 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:18:17 ]
取り合えず思いつく限りのアルゴリズムを考える
最初の数回の手で相手のアルゴリズムを予想
そこからはそのアルゴリズムに対して最適の手を出しつつアルゴリズムを訂正していく

相手がランダムに出さない限りこれが一番じゃね?

812 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:22:38 ]
そういうのは「トートロジー」って言うんだよw
最強の手を考えれば最強だ、って言ってるのと同じじゃないか



813 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:24:50 ]
>>812
そんなこと言ってないんだが・・・

814 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:26:44 ]
言ってることに気付いてないだけなんだよ悪いけど。

815 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:26:57 ]
まあ、一番とは言えないな
例えば相手のアルゴリズムが同じだった場合を考え出すと際限が無くなるし

816 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:28:33 ]
>>814
じゃ、どこがか説明してくれ
俺馬鹿だからトートロジーでググっだけど俺の考えとは全く違うことのようだったんだけど

817 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:35:32 ]
>>816
「相手に合わせて<最善の>戦略を採る」という方法論は、
「相手の戦略を考慮しない」という方法を特殊ケースとして含む。

つまりそれは単に「最善の戦略を採る」と言っているのと同じことだ。

であるから「相手に合わせて<最善の>戦略を採るのが一番」というのは、
最善の戦略を採るのが一番だ、というトートロジーに過ぎない。

・・・って言っても理解できないよねたぶん。

818 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:39:58 ]
コピペに釣られてC#に関係のない話してんじゃねーよ

819 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:40:59 ]
>>817
>「相手の戦略を考慮しない」という方法を特殊ケースとして含む。

相手が「相手の戦略を考慮しない」ときの話か?
それは常に同じ手を出すorランダム
このとき常に同じ手を出すって方法は容易に予測して最適の手を出せる
ランダムの時は最初に無理って言った

820 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:43:43 ]
また、自身が「相手の戦略を考慮しない」特殊ケースはランダム以外では無いと思うが?
相手が少しでも考えた手を出す限り完璧とはいかないがある程度次の手が予測可能

821 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:47:59 ]
なーんかズレてるけど、君の意見がトンマなのは「最善の戦略を採るのが一番だ」
って言ってるところなんだよだから。

そんなの終了条件がない再起呼び出しと一緒だって分からないかね。

822 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:48:54 ]
IT土方が手を出せるような問題じゃないぞ
あとは数学者に任せてぼろが出ないうちにやめとけ
まあ最近は文系経済学者が偉そうに論じたりしてるけど・・・



823 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:55:42 ]
>>821
相手のアルゴリズムを 予想 して
それに対する最善の戦略をとるってこと
もちろん相手のアルゴリズムがこちらの予想した物以外だったり相手がわざと騙す手をとった場合このアルゴリズムは意味をなさないが
あと
もし、本当にこのような大会があった場合の一番良いのでは?って言う方法を言ってて(要するに相手も人間の書いたプログラムとして)
数学的なジレンマの最適解を言ってる訳じゃない

824 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:59:58 ]
あ、つい熱くなってしまった
ここC#スレだった
スレ違い長々とすみませんでした

825 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:01:59 ]
>>823
だから最善の戦略って何?

最善の戦略はなんですか、って問いに「それは最善の戦略を採ることです」
って答えて何か意味があるの?

相手のアルゴリズムを予想する、って前置きしたことで何か言ったつもりに
なっているのかも知れないが、「相手のアルゴリズムを予想する」には
「相手のアルゴリズムを無視する」を特殊ケースとして含むから、それだけでは
何も言っていないのと同じであることは既に説明したはずだけど。

826 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:06:17 ]
>>825
スレタイ読めない馬鹿がまだ騒いでやがる

827 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:07:05 ]
ランダムと同じ程度には強いんじゃね?

828 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:09:11 ]
あ、こいつ俺以上に馬鹿なのか
なんもわかってないのはあなたの方だね

829 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:10:19 ]
いや、俺のほうがわかってないよ

830 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:10:59 ]
>>828
なんで俺のふりするんだよ
スレチだから謝ったのに

831 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:16:07 ]
まあ、アホは>>823なんだけどね


832 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:24:03 ]
いや、俺の方がアホだ



833 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:29:48 ]
うん

834 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 00:35:16 ]
みんな知ってるよ

835 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 01:47:22 ]
いちゃいちゃ

836 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 02:53:12 ]
プロジェクトのソースを変更するので
新しいプロジェクト名にしてからやりたいのですが
どうすればいいですか?

837 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 03:34:17 ]
ソリューションエクスプローラから名前を変更したいファイルを選んでプロパティウィンドウでファイル名を変更
Propertiesから諸々の名前を好きなように変更
ソリューションファイルを手動で開いてパスも全部書き換える

838 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 08:27:39 ]
プロジェクトを別に新規作成してソースコードを全部突っ込んだ方が早い気がする

839 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 09:59:44 ]
>>803
XNAじゃないか。
試したけど普通に動いたよ。
新規作成した何もしないXNAアプリは実行できる?

840 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 11:04:28 ]
IEnumeratorの結果をソートできますか?

841 名前:注目 [2009/10/28(水) 11:08:11 ]
991302490234374



中学生が 自主制作ハメ撮りAV 売り捌いてたらしい ★12
yutori7.2ch.net/test/read.cgi/news4vip/1256682280/


まとめwiki
www31.atwiki.jp/shotakon_pachinkas/




371734619140624

842 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 11:41:44 ]
>>804
これ思い出した。
ja.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%81%AE%E8%B3%AD%E3%81%91



843 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 13:14:30 ]
テキストボックスの最後の行の値を取りたいのだがどうすれば取れる?
いろんな状況とかパターンがあると思うがそのあたりは任せる
ぱっと思い付いたのでいいから書いてくれ
頼む

844 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 13:16:00 ]
内容を改行コードでスプリットして配列へ
その配列の最後の要素がそうじゃね?

845 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 13:29:17 ]
TextBox1.Lines(TextBox1.Lines.Length - 1)

846 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 16:05:46 ]
VB?

847 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 16:14:39 ]
ほんとだ
C#だとtextBox1.Lines[textBox1.Lines.Length - 1]になるか

848 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 16:58:19 ]
>>839
> 新規作成した何もしないXNAアプリは実行できる?
はい、動きます

GamePadState lastState = GamePad.GetState(PlayerIndex.One);
ステップイン実行したところ、Game1のフィールド変数のこの部分で固まるので
GamePadState lastState;
これに変更したら、うまく動作しました

動作環境は2008C#EE XNA3.1
パッドがPS2のコントローラーなのでこれが原因なのかな?
ほかのプログラムでは一応コントローラーは認識して動いているんですけど

849 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:08:14 ]
>>848
XNAはXbox360のコントローラしか使えないよ
他のコントローラーを360のコントローラーに見せかけるドライバとかもあるけど。
ただ、他のPADが刺さってる状態で GamePad.GetState() がどうなるかはわからない。
環境あるとこで試してみようかな。

850 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:11:45 ]
>>847
ジェネリックなコレクションの最終要素は
textBox1.Lines.Last(); でアクセスした方がいいのかな?
それとも非ジェネとジェネで別のアクセス表現が混在しないように統一した方がいいものなんだろうか?
System.Collections.Generic.IEnumerable → Hoge.Last();
System.Collections.IEnumerable → Hoge[Hoge.Length - 1];
これ公式のガイドラインとか無いのかな?

851 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:40:30 ]
>>847
>>850
ありがとう
超参考になった愛してる


852 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:56:11 ]
>>840
Enumerable.OfTypeまたはEnumerable.CastでIEnumerable<T>にできる。
そうすれば、OrderByするなり、ToListまたはToArrayしてそれぞれのSortを呼ぶといったことが可能になる。

ちなみに、>>850の場合でもOfTypeまたはCastを使う手が考えられる。



853 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 18:08:29 ]
>>852
Oh excellent !!!

854 名前:779 mailto:sage [2009/10/28(水) 18:26:13 ]
>>783
ありがとうございます
調べながらやってみましたが、始めて2週間程度の自分にはまだ無理だったようです

855 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:38:26 ]
>>852
でもこれってよく考えるとタイプセーフじゃなくない?これでいいんだろうか?

856 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:45:15 ]
そんなもんIEnumerable(非ジェネリック)使う時点で仕方ないだろ
普通にforeach使ったとしてもforeach(Hoge item in 非ジェネリックコレクション)はタイプセーフじゃないよ

857 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:01:47 ]
hmm...

858 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:16:34 ]
最近LINQの魔力に取りつかれてて、殆どをLINQに頼るようになったんだけど、
何かデメリットや欠陥的なものを探してる。

俺を現実に引き戻してほしい。

859 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:24:22 ]
キャッシュされない→参照のたびにいちいち再計算される

860 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:31:52 ]
キャッシュしたかったらToArrayなりToListなり使えばいい
yieldの仕組み上当然のことでむしろそれを狙ってやってるわけで欠陥でも何でもない

861 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:38:15 ]
言い方が悪くてスマンね

ToArrayなりToListなり使わないとキャッシュできないって言ってんだよハゲ

862 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:39:25 ]
( ゚д゚)

( ゚д゚ )



863 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:40:19 ]
そんなの普通にループで回しても一緒じゃんw
結局,結果を配列なりリストなりに入れるだろ?
LINQはそのループの部分を抽象化してるだけだ

864 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 23:08:27 ]
こっち見んな

865 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 23:10:09 ]
>>862
ハゲw

866 名前:555 mailto:sage [2009/10/28(水) 23:16:35 ]
やっぱり自分の作ったクラスはどんくさくて使い物にならないことが判明しました・・・
ある文字を媒体に128,256bitなど指定したビット配列を返すクラスなどはないでしょうか?
RijndaelManagedには乱数などを作成はあるのですが、共通キーとすることが前提なので
ZIPのように「sage」見たいな文字を複合キーとする暗号化はどのように行うのでしょうか?
よろしくお願いいたします。

867 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 23:24:50 ]
>>866
SHA系とかでハッシュ作ればいい。

868 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 23:44:59 ]
>>866
O(n)

869 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 00:05:03 ]
鍵を手渡しするわけでもないのに無理矢理に共通鍵暗号を使う意味が分からない
それなら大人しく公開鍵暗号で鍵交換すればいいのに

870 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 00:05:59 ]
P2Pで手に入れたエッチな動画を親に見られたくないんじゃないか?

871 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 00:09:12 ]
自分しかいないなら共通鍵で問題ないだろ
誰とも鍵交換しないんだから

872 名前:555,558 mailto:sage [2009/10/29(木) 00:14:25 ]
データの認証のときは共通鍵より公開鍵の方がよいのかまったく無知で判断できませんでした・・・。

もう少し公開、共通の違いを調べてきます。



873 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 00:15:34 ]
そもそもこの人が何をやりたいのかハッキリしていないからアドバイスできね

874 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 00:17:39 ]
それはひみつのあっこちゃん

875 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 10:52:04 ]
簡単に公開鍵とか言ってる奴はホントに分かって言ってるのか?


876 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 10:54:43 ]
あと>>733


877 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 21:19:38 ]
例のごとく、練習としてメモ帳を作成しているのですが、検索機能で行き詰りました。

ひとまず検索用のフォームを作ったのですが、その先が何をすればよいのかさっぱりわかりません。
ご教授願います。

878 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 21:32:03 ]
String.IndexOfとTextBox.Select

879 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 22:56:14 ]
OpenFileDialogなどのコモンダイアログのタイトルバーの色や背景色を変更したいのですが、どうすればよいですか?

880 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 23:05:32 ]
コントロール パネル\デスクトップのカスタマイズ\個人設定\ウィンドウの色とデザイン
そして、デザインの詳細設定...
Windows7 なら。

881 名前:デフォルトの名無しさん mailto:sage [2009/10/30(金) 11:59:49 ]
ListViewの描画のちらつき何とかならないのかなって思っていたけど自己解決しました

882 名前:デフォルトの名無しさん mailto:sage [2009/10/30(金) 12:03:07 ]
じゃぁ書くなよww








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<184KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef