■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

***すれ立てるまでもない質問はここで 第59刷***
501 名前:デフォルトの名無しさん :04/09/27 21:08:20
ビットマップファイルをクリップボードにコピーしたのですが、IsClipboardFormatAvailable(CF_BITMAP)の値が常に0です。
原因が分からないので、誰か教えて下さい。OSはWindowsXPHome、コンパイラはBCCを使っています。

502 名前:デフォルトの名無しさん :04/09/27 21:43:35
>>10
GAXTU

503 名前:デフォルトの名無しさん :04/09/27 21:53:48
>>501
>ビットマップファイルをクリップボードにコピー

ファイルならCF_BITMAPじゃないよ

504 名前:501 :04/09/27 22:10:49
>>503 ありがとうございます。
クリップボードにビットマップデータをコピーする方法が分かりません。よろしければ教えてほしいのですが。

505 名前:デフォルトの名無しさん :04/09/27 23:26:24
SetClipboardData(CF_BITMAP,hBitmap)

506 名前:501 :04/09/27 23:56:51
>>505 ありがとうございます。
実は「猫でもわかるプログラミング」の第95章のプログラムを実行したのですが、SetClipboardData(CF_BITMAP,hBitmap)
は使用されていません。クリップボードに予めビットマップデータをコピーする必要があるのでしょうか?

507 名前:デフォルトの名無しさん :04/09/28 02:12:25
>>506
>クリップボードに予めビットマップデータをコピーする必要があるのでしょうか?
あたりまえだろ。
クリップボードにデータがないのに読み出せるわけがないだろ。
適当に流し読みした感じ、94章でセット、95章でゲットしているらしいが、
501がやりたいのは>>501を読む限り94章の方なんじゃないの?

508 名前:501 :04/09/28 03:49:51
>>507 すみません。(^_^;)
95章のプログラムを単独で実行した場合、ビットマップデータをクリップボードにコピーする機能が無いので、それが気になったのですが...。

509 名前:デフォルトの名無しさん :04/09/28 04:21:01
c++をもそもそと勉強してます。
クラスのメンバ関数はヘッダファイルに直接書いてもよいと聞いたのですが本当ですか?
そもそもヘッダファイルに通常の関数を書いてはいけないのは何故なのでしょうか?
ソースファイルを分けてextern云々とか面倒な処理が増えるよりイイと思うのですが。
(グローバル変数共有するようなソースファイルの分け方がそもそも良くないのですかね?

510 名前:デフォルトの名無しさん :04/09/28 04:53:29
>509
グローバル変数なくせ

511 名前:デフォルトの名無しさん :04/09/28 05:33:51
>>509
クラスは型だから実装は別物では?

512 名前:デフォルトの名無しさん :04/09/28 08:59:12
iniファイルとかそんなん見当たらないプログラムはどこに設定を保存してるんですか

513 名前:デフォルトの名無しさん :04/09/28 09:15:15
心の中だよ

514 名前:デフォルトの名無しさん :04/09/28 09:31:28
レジストリかApplication DataかMy Documentsだろ

515 名前:デフォルトの名無しさん :04/09/28 09:40:46
>>513
どうも

516 名前:デフォルトの名無しさん :04/09/28 09:44:11
.が先頭に付いたファイルがホームディレクトリに置かれます。
たとえば、.cshrcなどが設定ファイルです。
.iniなんて普通はつけません。

517 名前:デフォルトの名無しさん :04/09/28 10:31:15
ネタもツマラナイ上に頭悪いなお前

518 名前:デフォルトの名無しさん :04/09/28 10:31:40
VB.NET2003を使っているのですが、画面下部に表示されるタスク一覧で、ビルドエラーが多過ぎると102件で制限を超えましたと出てしまいます。
これを回避して、時間がかかっても良いので全てのエラーを表示する方法はあるのでしょうか。

519 名前:デフォルトの名無しさん :04/09/28 10:35:49
>>518
時間かかっても良いのでエラーを無くしてくれ。
エラーがいっぱいのソースはエラーメッセージも有意義さが薄れる。

520 名前:デフォルトの名無しさん :04/09/28 10:37:16
>>519
それが出来ればやっています。
そういう質問ではないのです。

521 名前:デフォルトの名無しさん :04/09/28 10:39:27
たぶん括弧の閉じ忘れとかくだらないミス

522 名前:デフォルトの名無しさん :04/09/28 10:54:19
「〜orz」←どういう意味ですか?

523 名前:デフォルトの名無しさん :04/09/28 10:56:16
>>520
エラーメッセージを少し書き出してみろ

>>522
メッカに祈りを捧げる人のAA

524 名前:デフォルトの名無しさん :04/09/28 10:59:57
VB2からVB.NETに移行するので、修正箇所を洗い出したいのです。
エラーメッセージは主に『'プロパティ名'は'クラス名'のメンバではありません。』等で、
ヴァージョンが変わった事による変更点に因るものです。

525 名前:デフォルトの名無しさん :04/09/28 11:00:53
>>518
VSのビルドオプション眺めてなければない

526 名前:デフォルトの名無しさん :04/09/28 11:03:04
……なに、修正まったくせずにコンパイルしようとしてるの?
で、コンパイル通ったらOK扱いか?
なんか根本的にヤヴァくないかね

527 名前:デフォルトの名無しさん :04/09/28 11:03:10
>>522
oは頭
rは手
zは足

528 名前:デフォルトの名無しさん :04/09/28 11:04:50
>>526
修正箇所を洗い出したいだけです。
修正しない等とはいっていません。

529 名前:デフォルトの名無しさん :04/09/28 11:11:05
>>526
そうよ! そうよ!
>>528様の言う通り!

530 名前:デフォルトの名無しさん :04/09/28 11:14:24
>>529
ちゃかさないでください。
どなたかよろしくお願い致します。

531 名前:デフォルトの名無しさん :04/09/28 11:18:05
>>528
どーでもいいけどコンパイルエラー数=修正箇所ではないよ。

532 名前:デフォルトの名無しさん :04/09/28 11:18:35
ない、終了

533 名前:デフォルトの名無しさん :04/09/28 11:18:39
とりあえずHelloWorldでも作って移植してみれば?
いきなりでかいやつじゃ、どこでひっかかってるか見つけにくい。

534 名前:デフォルトの名無しさん :04/09/28 11:18:53
>>531
分かっています。

535 名前:デフォルトの名無しさん :04/09/28 11:20:55
ヴァージョンが変わったんだから、使っていた関数・クラス・メソッドが新しい環境にもあるか、
同名の物あっても機能や副作用が変わっていないかを確認しろ。
それがコンパイルする前段階の作業だろ。

536 名前:デフォルトの名無しさん :04/09/28 11:22:43
馬鹿上司に見積もり出せといわれてエラー数でお茶を濁そうとしてるんじゃないの。
案外馬鹿上司本人だったりして。

537 名前:デフォルトの名無しさん :04/09/28 11:28:57
どうして必要なのかいわなければ良かったですね。
こんなに揚げ足をとられるとは思いませんでした。

538 名前:デフォルトの名無しさん :04/09/28 11:31:40
ない、終了

539 名前:デフォルトの名無しさん :04/09/28 11:34:38
揚げ足取り扱いかよウヘ

540 名前:デフォルトの名無しさん :04/09/28 11:48:48
>>518はホームラン級のウ゛ァカだな

541 名前:デフォルトの名無しさん :04/09/28 11:59:27
>>524
>VB2からVB.NETに移行するので
…。
……。
………Σ( ゚Д゚)ホトンド ツクリナオシジャン!!

542 名前:デフォルトの名無しさん :04/09/28 12:43:26
>>508
95章はクリップボードの内容を表示する機能を紹介しているだけだろ。
なくても問題ないと思うが。
記事の内容が気になるなら作者に聞くべき。
こんなとこで騒いでても解決にならん。

543 名前:デフォルトの名無しさん :04/09/28 13:11:14
>>518
逆転サヨナラ満塁場外ホームラン級の馬鹿だな。

544 名前:デフォルトの名無しさん :04/09/28 13:12:47
「サヨナラ満塁」の時点で逆転だから

545 名前:デフォルトの名無しさん :04/09/28 13:14:43
>>544
わけわからん

546 名前:デフォルトの名無しさん :04/09/28 14:08:32
はてなダイアリはどういった方法で特定のキーワードからリンク生成してるんですか?
やはりDB使って要求されたページをロードするときにタグを付加するんでしょうか
ググってもそういうこと書いたページが見当たらないです。答えるのめんどくせーなら
検索単語だけでもいいのでお願いします

547 名前:デフォルトの名無しさん :04/09/28 14:11:35
>>546
ttp://d.hatena.ne.jp/hatenadiary/20040205#1075960162

正規表現でキーワードを置き換えてるだけかと

548 名前:546 :04/09/28 14:19:27
>>547
ありがとうございます。公式にそのまま書いてあったとは
これは気軽に利用できそうですね

549 名前:デフォルトの名無しさん :04/09/28 14:27:55
キーワードがリンクされるあの機能って、文章にアンダーラインが入りまくって読みにくい。

550 名前:デフォルトの名無しさん :04/09/28 14:35:03
ユーザスタイルシートでも使ってアンカータグのunderlineを消せよ

551 名前:デフォルトの名無しさん :04/09/28 14:51:29
VisualC++のエディターではキーワードの色が自動的に変わりますが、
その予約語を追加する方法があったと思うのですがどうやるんでしたっけ?

\Microsoft Visual Studio\Common\MSDev98\Bin の中に type.dat を
作るとかそんな感じだったと思うのですが、どうもうまくいきません。


552 名前:デフォルトの名無しさん :04/09/28 15:17:08
>551
usertype.dat な。
http://www.hidecnet.ne.jp/~sinzan/tips/vc/vc_tip0d.htm

そんなことよりも
ミケネコ研究所の中の人が亡くなったのか。
やべぇ。。。ショック過ぎる。。。

553 名前:デフォルトの名無しさん :04/09/28 15:51:05
>>550
そうすると他のページが使いにくくなる。

554 名前:551 :04/09/28 16:03:11
>>552
ども、ありがとうございます。


555 名前:デフォルトの名無しさん :04/09/28 17:32:08
>>553
Proxomitron使え

556 名前:デフォルトの名無しさん :04/09/28 20:51:52
>550
個人的には、clickableなのがウザい
うっかり移動してしまう

557 名前:デフォルトの名無しさん :04/09/28 22:12:56
MFCのPropertySheetについて詳しく説明してるサイトはありませんか?
新たにダイアログ作ってやるサイトはあったんですが
ウィザードで最初から作られているダイアログにタブを付ける方法がわかりません。
宜しくお願いします。

558 名前:デフォルトの名無しさん :04/09/28 23:46:20
プログラム初心者なので教えて下さい。
9999999*9999999

99999980000001
と正しく計算されるのに
99999999*99999999

9999999800000000
と間違って計算されるのはどうしてでしょうか?


559 名前:デフォルトの名無しさん :04/09/28 23:58:21
有効桁数

560 名前:デフォルトの名無しさん :04/09/29 00:40:48
CPUタイマーってどうやって見るんですか
CPUチアマーが1000だったら実際の秒数に換算すると難病ですか?

561 名前:デフォルトの名無しさん :04/09/29 00:42:46
>>560
心で感じとる

562 名前:デフォルトの名無しさん :04/09/29 00:43:47
なぜここまで必死に環境・言語を書かないのか

563 名前:デフォルトの名無しさん :04/09/29 03:48:15
DLLとか作れたらかっこういいと思うのですが

564 名前:デフォルトの名無しさん :04/09/29 06:58:33
あのう大変あつかましいのですが
簡単な画像ビューアーなどを作ったりしたことがある
職歴無しの現在無職の28歳なんですが
それでもPGできますでしょうか?
やっぱりNEにさせられるんでしょうか?

釣りでもネタでもないです。マジレスなので
ここだと実際にPG経験者がいるみたいなので
リアリティのある返答が期待できると思いまして。
スレ違いかもしれませんがお願いします

565 名前:デフォルトの名無しさん :04/09/29 08:47:34
>>564
ここはプログラム技術板だ

どっちかっつーと、プログラマ板向きじゃね?

プログラマー
http://pc5.2ch.net/prog/

566 名前:デフォルトの名無しさん :04/09/29 09:05:21
>>564
なれる。
この業界人手不足もはなはだしいから中の下程度の人間なら歓迎される。
しかしほんとに手足のようにしか使われないけどな。

567 名前:デフォルトの名無しさん :04/09/29 09:08:17
>>566
中の下ってどれぐらいのレベルなんだろ・・・

結構思ってるよりレベル高いのかな・・

568 名前:デフォルトの名無しさん :04/09/29 09:17:04
28ってのが激しく痛い・・・
18から始めたやつなら同じ歳でもう雲の上にいるからな・・・

569 名前:デフォルトの名無しさん :04/09/29 09:48:01
やっぱりもうだめか・・
小学校からちょこちょこはやってたんだけど
こんなことならもっと早くしておけばよかったな
まあ、一生バイトで生きていくよ

570 名前:デフォルトの名無しさん :04/09/29 10:42:48
派遣とかなら何とかなるんじゃないの。
最悪でもクビ程度だし興味あるなら試してみりゃいいんじゃないの。

571 名前:564 :04/09/29 10:49:58
みなさんいいひとですね。もうちょっとがんばってみます

572 名前:デフォルトの名無しさん :04/09/29 12:35:47
>>567
職業プログラマは基本的に就職してから勉強するから、
趣味でやってるやつから見るとかなりレベル低い。

573 名前:デフォルトの名無しさん :04/09/29 15:18:40
アフォみたいな質問だけど勘弁してください
当方アプリケーション開発をメインに行ってきましたが
仕事の関係でファームウェアを作成することになりますた

辞書的な意味でファームウェアというのはわかるのですが
勉強していくには何から始めればいいのでしょうか?

習得言語はCちょっと、JAVAそれなり、Delphi結構です

574 名前:デフォルトの名無しさん :04/09/29 15:41:14
>>573
んー、使うCPUのマニュアル読んだら?

その辺の話題は↓で聞くといいかも


制御系なら俺に聞いてもいいぜ(5)
http://pc5.2ch.net/test/read.cgi/tech/1079102543/

575 名前:デフォルトの名無しさん :04/09/29 15:42:28
>>573
データーシートの読み方・・・かな

576 名前:デフォルトの名無しさん :04/09/29 23:28:48
!演算は値を反転するという意味で本で読んだのですがint型などではどういうことが行われるのでしょうか。
num = 5;として!numとすると5は2進数で101だから010で2になるのでしょうか?

577 名前:デフォルトの名無しさん :04/09/29 23:36:13
>>576
言語書け馬鹿
C/C++だと、
!a

a==0
と同義のはず。

578 名前:デフォルトの名無しさん :04/09/29 23:36:39
>>576
!は論理演算。
0がFalse
それ以外がTrue
として解釈される。


579 名前:デフォルトの名無しさん :04/09/29 23:40:44
>>577,578
ありがとうござました。
C++と書き忘れてました、すみません。

580 名前:デフォルトの名無しさん :04/09/30 06:07:32
Microsoftがcards.dllっての出してるんですが、これのソース読みたいんですが

581 名前:デフォルトの名無しさん :04/09/30 06:25:33
>>580
高いぞ?値段。

582 名前:デフォルトの名無しさん :04/09/30 06:27:13
>>581
いくらだ!

583 名前:デフォルトの名無しさん :04/09/30 07:05:47
>>582
正確な値段は覚えていないが、MSに問い合わせるといい
色々な契約と金額突きつけられる

584 名前:デフォルトの名無しさん :04/09/30 07:16:52
>>583
よしわかった

585 名前:デフォルトの名無しさん :04/09/30 11:55:11
HTML
レイヤ(div)の重ね順を<select><option>〜よりも上にもってくる方法教えて。

586 名前:デフォルトの名無しさん :04/09/30 11:57:06
z-orderとかじゃないか
つか板違い、Web系逝け

587 名前:デフォルトの名無しさん :04/09/30 11:57:59
はい

588 名前:デフォルトの名無しさん :04/09/30 12:12:12
皆さんにとっては簡単かもしれませんけれども、私はなかなか解けなくて困っています。
誰か教えてください。
メモリa,b,cのそれぞれに整数を読み込み、a→b,b→c,c→aの入れ替えを
行い、入れ替え前と入れ替え後のメモリの内容を画面に出力するVisual Basicの
プログラムを作り、ラン結果を確認しなさい。
とあるのですが、一応やっては見たものの答えが出てこないので困っています。
誰か教えて下さると大変助かりますのでよろしくお願いします。

589 名前:デフォルトの名無しさん :04/09/30 13:12:46
>>588
答えを知りたいだけなら宿題スレへ。
やり方を知りたいなら、今、どう考えてどうやっているのか書きましょう。

590 名前:デフォルトの名無しさん :04/09/30 13:23:24
>>589
知らないなら黙ってていいですよ。

591 名前:デフォルトの名無しさん :04/09/30 13:28:08
>>590
オマエモナ

592 名前:デフォルトの名無しさん :04/09/30 19:02:10
せっかくのアドヴァイスを無視して自分から回答をもらう確率を低くすることもないのにな

593 名前:デフォルトの名無しさん :04/09/30 22:21:46
見込みのないやつには答えだけ教えてお引取り願うのも
将来のソフトウェア業界のためなのかもしれんね。

594 名前:デフォルトの名無しさん :04/09/30 22:23:47
>>592-593
>>590

595 名前:デフォルトの名無しさん :04/09/30 23:40:11
input a
input b
input c
let aa = a
let bb = b
let cc = c
print a
print b
print c
let b = aa
let c = bb
let a = cc
print a
print b
print c
stop
end

596 名前:デフォルトの名無しさん :04/10/01 02:19:52
>>463
http://www.vector.co.jp/soft/win95/util/se113286.html

フォルダごと同じファイル名同士比べたりするときは
コマンドラインのやつより便利。

597 名前:デフォルトの名無しさん :04/10/01 02:59:42
元発言も見ずにレスするけど
WinMergeとかExamDiffもいいんじゃない?
シェアも含めればBeyond Compareが最強かと

598 名前:デフォルトの名無しさん :04/10/01 03:07:02
VS6.0 SPいくつまで出た?

599 名前:デフォルトの名無しさん :04/10/01 03:14:02
char str[512][512];
と言う変数に文字列が格納されており。
1つ目の文字列をMessageBox()で出力したいのですが
char *str[]を第1引数に指定しなければなりません。
どうすればいいのでしょうか?

str[512]と指定すると、char [512]と思われますし。。。。

600 名前:デフォルトの名無しさん :04/10/01 03:45:05
>>599
str[0]

601 名前:デフォルトの名無しさん :04/10/01 04:33:02
>>600
やってみましたが
: 1 番目の引数を 'char [512]' から 'char *[]' に変換できません。
と出ます。

602 名前:デフォルトの名無しさん :04/10/01 04:37:48
「おめーらみたいなヒヨッ子は洗練されたソースをもっと読んで勉強しれ」
みたいなこと言われたんですけど、洗練されたオープンなソースってどのへんがありますかね?
LINUXはいいぞーみたいなことのたまってましたが、他にあれば何かお薦めくだされ。

603 名前:602 :04/10/01 04:39:22
あ、C/C++かjavaあたりで。

604 名前:デフォルトの名無しさん :04/10/01 04:39:38
>>602
CodeReadingでも読めば?

605 名前:600 :04/10/01 04:48:01
>>601
>>600
600は間違い。あまり文を読まずに書いてしまった。
2次元配列を渡すなら、strでいい。って第一引数はHWNDだと思うが。

606 名前:デフォルトの名無しさん :04/10/01 05:06:47
質問です。
private:
char m_str[512][512];
があり
public:
read_str()と言う関数を作って
引数に文字列のポインタを渡して、m_strの内容をstrcpy()でコピーするようなのを作りたいのですが
どのようにすればいいのでしょうか?

inline int read_str(char *str[512]) {strcpy(str, m_str);}
とかいう感じのを想定してるのですが、どうやっても型をあわせられません。

607 名前:デフォルトの名無しさん :04/10/01 05:30:35
>>602
STLとかどうざんしょ。

608 名前:デフォルトの名無しさん :04/10/01 06:38:22
GDIの基本が分からないのですが丁寧に説明してるサイトがどうにも見つからないのですが

609 名前:chum :04/10/01 09:31:49
すんません。ちょっと教えてほしいんだけど、
ExcelのVBでタイムスタンプを変更する方法を教えてもらえませんか。
よろしくお願いします。

610 名前:デフォルトの名無しさん :04/10/01 10:50:46
質問すべきスレがここになるのかちょっと不安なんだけど・・・

今、自分以外のアプリケーションのエディットボックスの内容を表示するというツールを作っています
行っている動作は
1・ホットキーを押されたら、GetCursorPos+WindowFromPointでマウスカーソルの下にあるウィンドウの
  ハンドルを取得
2・WM_GETTEXTを飛ばして相手のウィンドウのWindowTextを引っ張ってくる
というものです
通常のウィンドウなら、これで問題なくテキストが取得できるのですが、ACCESSのフォーム内の
エディットボックスからは取って来れないのです
対象のフォームの中に複数のエディットボックスがあった場合、そのフォーム内で現在フォーカスを
持っているエディットボックスの内容が取得されてしまいます
(エディットボックスABCの3種があったとして、Aがフォーカスを持っている場合、Cにマウスカーソルを置いて
 ホットキーを押しても、取ってくることができるテキストはAの内容)
ツールの仕様上、相手になるものが特定できない(=ACCESSの方の変更は不可)ため、
こちらのツール側で対処しなければならないのですが、どなたか解決策ご存知ないでしょうか?
2日ほどここで詰まっていて、もうお手上げ状態です

611 名前:610 :04/10/01 10:54:04
開発環境は
Microsoft Visual C++ .NET

Microsoft ACCESS 2002
(これは現象が出た相手です)
です

API質問スレかな、とも思ったのですが、ACCESSも絡んでるしな、というわけで
こちらに投稿しました。API質問スレが該当するようでしたらすぐに移動します

612 名前:デフォルトの名無しさん :04/10/01 11:41:57
JAVASCRIPTでネットユースのような
ドライブ割り当てを実現する方法ってないでしょうか?

613 名前:デフォルトの名無しさん :04/10/01 11:43:29
教習所で路上教習やって、路上で停車したとき教官がコンビニのトイレに行った隙に
そのまま家に帰ってきて、車がまだ家にあるんですが、どうなるのでしょうか
もう2週間たちます

614 名前:デフォルトの名無しさん :04/10/01 11:54:08
>>613
営業(業務)妨害、窃盗、道路交通法違反に問われます

615 名前:デフォルトの名無しさん :04/10/01 12:01:52
>>613
山奥にその車を放棄するしかない。
誰にも見付かってはいけないよ。

616 名前:598 :04/10/01 12:34:33
で どうなの?

617 名前:デフォルトの名無しさん :04/10/01 12:52:22
フシアナトラップに大量に引っかかっているスレがあります。

1級土木施工実地試験パート2
http://science3.2ch.net/test/read.cgi/doboku/1072272597/l50

だれか、解析してくだされ。ぞいつらを。


618 名前:デフォルトの名無しさん :04/10/01 13:28:58
>>616
SP6

619 名前:デフォルトの名無しさん :04/10/01 13:32:17
> ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。


620 名前:デフォルトの名無しさん :04/10/01 13:43:42
>>619
無駄な書き込みはやめましょう。

621 名前:デフォルトの名無しさん :04/10/01 13:48:45
しかもマルチポストまでしてんのかw

622 名前:デフォルトの名無しさん :04/10/01 15:08:18
もえたんみたいな、萌えるプログラミング教本てありませんか?
今はCの入門レベルのを読んでます。

623 名前:デフォルトの名無しさん :04/10/01 15:13:39
>>622
たくさん売ってる。
というか、最近急に出回り始めた。
紀伊国屋とか行けば山積みになってる。

624 名前:デフォルトの名無しさん :04/10/01 15:14:34
HTMLでホオームページ作ってんだけど背景の色黒にするには
どうしたらいいですか?

HTMLの本片手にやってんだけど全然わからん…

{background-color:brack}ってのをどこかに書き込むんだよね?

625 名前:デフォルトの名無しさん :04/10/01 15:20:29
>>622
基本は「はじめてのC」
昔はみんなこのタイトルに萌えた

626 名前:デフォルトの名無しさん :04/10/01 15:20:57
板違い、Web製作でも逝け
それはCSS指定だからbodyのstyle属性に書く

627 名前:デフォルトの名無しさん :04/10/01 15:21:57
brackじゃ黒にはならんがな

628 名前:624 :04/10/01 15:32:32
申し訳ないっす

629 名前:デフォルトの名無しさん :04/10/01 15:42:57
>>622
http://www.amazon.co.jp/exec/obidos/ASIN/4822216969/
とか。

630 名前:デフォルトの名無しさん :04/10/01 16:07:35
萌える必要を感じないのだが・・・
初級の本って多いけど(特にLinuxようCUIソフト)、中級向けとか、
GUI環境のソフト作る本が、少なくて困る
どなたか、中、上級向けのよい本知りませんか?(C,C++でお願いします)

631 名前:デフォルトの名無しさん :04/10/01 16:25:22
>>630
GUIを作る本って大抵単なるライブラリとかシステムコールの使いかたの説明書でしょ?
それは中級でも上級でもないよ。
あるいはデザインパターンとかそっちの方を勉強した方がよいのでは?

632 名前:630 :04/10/01 16:30:08
そうですね・・
もいっかいVCの使い方見直してみますわ

633 名前:デフォルトの名無しさん :04/10/01 18:41:32
>>632
VC では、要素はリソース・エディタで分かりますよね。

ありきたりですが、"graphical user interface guideline",
"human interface guideline", "GUI ガイドライン" などで
ぐぐると、出てきますが、もうご覧になりました?

私の最初の GUI application ? は、起動してすぐdialog を出して
DOS のコマンドを打ち込ませるものでした。メニューは「終了」のみ。
edit control を貼った SDI の画面に処理経過がぞろぞろ出るもの。
思い出すと、おかしいですが。

634 名前:デフォルトの名無しさん :04/10/01 18:52:56
イベントドリブンなプログラムを学びたいって事かな

635 名前:デフォルトの名無しさん :04/10/01 19:02:39
アルゴリズムの話なのですが、
複数の点から最も距離の和が小さい直線を引くという問題で
最小二乗法 http://szksrv.isc.chubu.ac.jp/lms/lms1.html
にいきついたのですが、このページの方法だと
y 軸方向の距離しかみていないので点と直線の距離が最小になるとは限りませんよね?
最小二乗法というのはもっともらしい直線を引くというだけのものでこの問題には使えないのでしょうか?
よろしくお願いします。


636 名前:デフォルトの名無しさん :04/10/01 19:27:06
そもそも最小二乗法は二乗の和が最小になるのでは・・・。

637 名前:デフォルトの名無しさん :04/10/01 19:28:27
>>635
点と直線の距離 と 点と直線のy軸成分の距離 は比例します。
だからy軸成分の距離が最小になるとしても同じ事です。

638 名前:デフォルトの名無しさん :04/10/01 20:38:28
膣門です。
CEditeコントロールが既にダイアログに設置されてる状態で

public:
CEdite hogehoge;

こんな感じで宣言されてる時に
Defaultの文字列としてテキストボックスに文字を入れておきたいのですが
どうすればいいのでしょうか?

MSDNには、CEditのメンバとしてSetCueBannerというのがあり
それを使ってみたのですが、
error C2039: 'SetCueBanner' : 'CEdit' のメンバではありません。
とのエラーが…


639 名前:デフォルトの名無しさん :04/10/01 21:21:38
char *str[512];
とか宣言されてる変数に領域確保せずにそのままアクセスしてるソース見たんですが
それって大丈夫なのでしょうか?


640 名前:639 :04/10/01 21:23:16
改めて良く見ると、

char *str[]=
{
"hoge",
"foo",
"bar"
};

でした。
ちゃんと領域確保してますね・・・。
失礼しました。


641 名前:デフォルトの名無しさん :04/10/01 22:01:18
WindowsXPでVimを使い始めたのですけど、ver6.3で:Tutorialを実行しようとしても
できませんでした。なぜなのでしょうか?

642 名前:デフォルトの名無しさん :04/10/01 22:05:44
>>638
XP 以降専用。

コンストラクタか OnInitDialog (そのデフォルトの文字列の影響範囲によって使い分ける)
で SetWindowText するか、DDX で割り当てられてる CString 変数に値を代入しておく。

643 名前:デフォルトの名無しさん :04/10/01 22:08:21
>>637
> 点と直線の距離 と 点と直線のy軸成分の距離 は比例します。
初耳です。
x 軸成分の距離は無視されるのですか?

644 名前:デフォルトの名無しさん :04/10/01 22:24:22
比例

645 名前:マイク ◆yrBrqfF1Ew :04/10/01 22:27:05
>>640
const char*じゃないからla fine del mondo

646 名前:デフォルトの名無しさん :04/10/01 23:01:11
>>641
今落としてみたけど普通に使えた。
Tutorialはただのテキストファイルのコピー作って開いてるだけだよ。

647 名前:デフォルトの名無しさん :04/10/01 23:29:28
質問です。
VC++なんですが
デバックで実行すると、Defaultのスタイルだと、下に実行中のプログラムの変数とその変数の中に入ってる定数などを見ることが出来るウインドウがあると思うんですが
どういうわけかいつの間にか消えてしまいました。
出したいのですが、どうすれば良いのでしょうか?
名前すらわからないので困ってます。

648 名前:デフォルトの名無しさん :04/10/01 23:34:43
>>635 >>643
リンク先の上の解き方で問題が起こるのは、近似する点のX軸成分が全て同じ場合だけだと思う・・・(x=定数という)
なぜかってっと、 近似直線を y=ax+b としてるからね。
最小二乗法は、本来距離が最短なものを求めるという変わりに、(距離そのままだと和を取る計算がややこしい)
距離の2乗の和を使おうっていう手法なだけで、x方向の成分を落として計算するものではないです。
リンク先をもう一度よく見直してみよう。

少しは式を書いて考えた方が早いよ。遅くとも大学入ってすぐ習う程度の近似法だから原理は難しくない。
# 使ってる技術は高校で習うもの

・・・ま、漏れは忘れちまってるわけだが。 (^^ゞ

649 名前:デフォルトの名無しさん :04/10/01 23:40:49
>>647
デバッグ中に、メニューの「デバッグ」→「ウィンドウ」→・・・

650 名前:デフォルトの名無しさん :04/10/02 00:09:00
>>646
そうでつか・・・ディレクトリでもいじって開いて見ます

651 名前:622 :04/10/02 01:11:15
>>623>>625>>629
ありがとうございます。大きい本屋で探します。

652 名前:デフォルトの名無しさん :04/10/02 01:58:19
質問です。
MFCなんですが
radio buttonコントロールを貼り付けて、コピーしてもう1つ作ってYes/Noを選択するような感じにしました。

で、変数の追加して、int型でメンバ変数作ったんですが
初期値としてどちらかを最初から選択してるようにしたいのです。
で、仮にその変数をm_button1とすると
どうやってやればいいのでしょうか?
m_button1=1;
とかやっても効果ありません。

宜しくお願いします。

653 名前:デフォルトの名無しさん :04/10/02 02:04:32
>>652
m_button1.SetCheck(BST_CHECKED);   //BST_CHECKED = 1
だけど、ラジオボタンに関しては、コントロール変数は使わない方が良いらしい


654 名前:デフォルトの名無しさん :04/10/02 02:17:47
質問です。cgiです。
デコード中にバファリングの内容によって影響が出る という意味の文章があるのですが、
これはいったいどういう意味なのでしょうか???

655 名前:デフォルトの名無しさん :04/10/02 02:20:39
エスパー招来!

656 名前:デフォルトの名無しさん :04/10/02 02:53:11
今いちばんナウイ言語はどれよ?

657 名前:デフォルトの名無しさん :04/10/02 02:53:47
グルーヴィ!!

658 名前:デフォルトの名無しさん :04/10/02 03:02:41
なんだよJ2SE5.0ってバージョン飛ばしすぎだろ

659 名前:635 :04/10/02 03:35:03
>>648
>>x方向の成分を落として計算するものではないです。
>>リンク先をもう一度よく見直してみよう。
やっぱり x 方向の距離は無視してますよね?
ちゃんとやりたかったら点と直線の距離の公式を使って、それを二乗したものの和が最小になるように・・・なのではないのですか?
やっぱり、例えば x 軸方向での最小と最大の点の距離が1ぐらいしかないとして、
y 軸方向では 10000 ぐらいある場合、本来はすごい傾きのある直線が一番近いのですが、
それだと、y 軸方向の距離だけをみた場合、距離の和がすごく大きくなると思います。
ならないのでしょうか?いや、なるにはなるけどそれでも最小なのですかね?
純粋に点と直線の距離でやっているのなら疑問の余地はないのですが・・・
どうやって y 軸だけで十分だと証明するんだろう・・・うーん・・・

660 名前:デフォルトの名無しさん :04/10/02 09:35:31
>618レスどうもありがとうございます


661 名前:デフォルトの名無しさん :04/10/02 12:20:34
ACCESSのデータベースを作成/レコード追加などをしたいのですが、
MFCのCDaoDatabaseクラスなどを使わないでSDKレベルで操作する事は可能ですか?
可能ならばどの様なアプローチが必要でしょうか。

vs v7.1 C++です。

662 名前:デフォルトの名無しさん :04/10/02 12:20:51
(1) 点: (α,β)
(2) 直線: a*x+b*y+c=0
(3) 点と直線の距離: |a*α+b*β+c|/sqrt(a^2+b^2)
(4) y軸成分の点と直線の距離: |a*α+b*β+c|/|b|

(3)/(4)は定数。

663 名前:デフォルトの名無しさん :04/10/02 13:26:24
(3)/(4) = |b|/sqrt(a^2+b^2)

定数なのか?

664 名前:デフォルトの名無しさん :04/10/02 13:28:30
定説です

665 名前:デフォルトの名無しさん :04/10/02 13:41:02
>>663はまんまsinの定義なので直線の傾きによって変わってしまうと思うが

666 名前:デフォルトの名無しさん :04/10/02 13:46:15
ここでa,bは定数である。
とわざわざ注意書きをしないとだめなのか

667 名前:デフォルトの名無しさん :04/10/02 13:49:48
直線を求めてるのにa,bが定数なの?

668 名前:デフォルトの名無しさん :04/10/02 13:50:04
頭悪っ!!

669 名前: ◆FIcNi4f8js :04/10/02 13:51:04
・・・

670 名前:デフォルトの名無しさん :04/10/02 13:57:22
おまいら、いい加減にしるー。

671 名前:デフォルトの名無しさん :04/10/02 14:30:35
gccをDLしようと思ったのですが、どれも20MBぐらいのファイルなのですが、
これで大丈夫なのでしょうか?
pathの設定でつまずいてしまいました(汗

GCCスレでも聞いたのですが、何故か無反応でした。ネタだと思われたのかな・・・

672 名前:デフォルトの名無しさん :04/10/02 14:34:15
>>667
あのさ、今求めているのは直線じゃなくて、
計算に、点と直線の距離のかわりにy軸成分の点と直線の距離を使っても無問題ってことでしょ。だからa,bは定数でいいんだよ。

673 名前:デフォルトの名無しさん :04/10/02 14:37:36
>>671
gccは最初から入ってるのを使うから、
自分で入れたことあるやつはほとんどいないんじゃないの?
だからコメントのしようがない。

674 名前:デフォルトの名無しさん :04/10/02 14:40:11
>>671
よろしい。
g++もダウンロードしてね。

>>673
実はDebianでは自分で入れないといけなかったり…

675 名前:デフォルトの名無しさん :04/10/02 14:49:21
>>672
(0,0) (1,0) (1,1000) の3点から、Yの差の和が最小になるのは
y = 0
だが、
距離の和が最小になるのは
y = 1000x
じゃないか?

重要なのは、リンク先はYの差だけじゃなくちゃんと距離を用いてるということであって、
Yが近けりゃ距離も近いということではないと思うが。

676 名前:デフォルトの名無しさん :04/10/02 15:01:16
>>659
以前きっちり点の上を通過するスプライン関数の必要に迫られたときに
中身はよく理解しないまま最小二乗法を使ったことがありますが
傾きが急になるとどうしようもない誤差がでてきましたよ確かに
45度を超えたらxとyを入れ替えて計算してやるとよさげでしたけど
そのあたりで興味が他へ移ってしまったのでそれ以上追求しませんでした


677 名前:デフォルトの名無しさん :04/10/02 15:03:03
>>673
>>674
えーと、WinXPをつかかってるんですよーー。
どこをpathに通したらいいのか良くわかりませんです

678 名前:デフォルトの名無しさん :04/10/02 15:13:55
>>677
http://www.noblab.jp/technotes/mingw_install/

679 名前:デフォルトの名無しさん :04/10/02 15:18:51
>>675
私が言うのは、
f(x)=a*x+b,
g(a,b)=Σ_{i=1}^{n} {y_i-f(x_i)}^2
が最小になるようなa,bを求めても同じ事だということ。
(partial g(a,b)) / (partial a) =0
(partial g(a,b)) / (partial b) =0
の連立方程式の解を求めるのでしょ。

680 名前:デフォルトの名無しさん :04/10/02 15:26:42
>>678
こんなのがあったのですね。ありがとうございましたっ

681 名前:デフォルトの名無しさん :04/10/02 15:31:12
>>675
だからつまり、
点と直線の距離: |a*α+b*β+c|/sqrt(a^2+b^2)
y軸成分の点と直線の距離: |a*α+b*β+c|/|b|
それぞれ式の分子が最小になればよいことだから、
結果は同じになる。

682 名前:デフォルトの名無しさん :04/10/02 16:36:25
Adobe Illustratorのプラグイン製作について質問ですが,
リファレンスマニュアルには、テキストオブジェクトの色もSetPathStyle()で設定できると
書いてあるんですが,実際やってみると、なぜかテキストだけは色が変わりません。
ご存知の方、テキストの色の変え方をお教えてください。

683 名前:デフォルトの名無しさん :04/10/02 16:44:34
なんでム板だけこんなにすれ立てられんの?

684 名前:デフォルトの名無しさん :04/10/02 16:50:38
安定なソートを行う場合、
インデックス用配列を動的に確保するクイックソートと
マージソートのどちらがいのでしょうか?

685 名前:デフォルトの名無しさん :04/10/02 17:07:55
>>682

686 名前:デフォルトの名無しさん :04/10/02 17:45:45
安定なソートって何だ?

687 名前:デフォルトの名無しさん :04/10/02 17:46:52
>>686
要素が同じだった場合に、順序が入れ替わらないソート

688 名前:デフォルトの名無しさん :04/10/02 17:56:12
オレ用語か・・・

689 名前:デフォルトの名無しさん :04/10/02 18:01:16
>>688
stable というれっきとしたソートの用語だよん
アルゴリズムの本には「安定な」と訳されてるよ

690 名前:デフォルトの名無しさん :04/10/02 18:19:06
>>688
久々に藁多。

自分の知らない用語は何でも「オレ用語」扱いする奴は
幾らでもいるが、お前が最強っぽいな。

そのうち「整列」とか「検索」なんてのも
「オレ用語」になりそうな勢いだな。


691 名前:688 :04/10/02 18:21:41
>>690
> そのうち「整列」とか「検索」なんてのも
> 「オレ用語」になりそうな勢いだな。
オレ用語じゃん
どんな言い訳するのかと思ったら、馬鹿丸出し

692 名前:デフォルトの名無しさん :04/10/02 18:25:58
>>691
お前688本人じゃないだろ?
そうやってワザとアホな書き込みして、燃料のつもりなんだろ?
健気でカワイイよ。

693 名前:688 :04/10/02 18:39:26
それが最後の言い訳か


694 名前:689 :04/10/02 18:40:27
>>684
どっちが「よい」、というのはどういう基準?
速さかな?(まぁそうだろうな)。
扱うデータに同じソートキーが出てきにくい性質があるならクイックソートでも
いいかもしれないが俺ならマージソート。
以下にその理由。

一般に安定でなくてよい場合クイックソートが速いといわれているよね。
マージソートはJavaのデフォルト実装。これは普通に実装すれば安定になる。
メモリ消費を気にしなければマージソートでもクイックソートと同程度のパフォーマンスをたたき出すらしい。
クイックソートは基準キーの取り方によってパフォーマンスがぶれるけど、
マージソートのぶれ方のほうが一般に小さいらしいと聞いた気もするがソースは忘れた。
メモリの消費量もソートするデータの内容に依存するのではなく数によって決まる。
(ワークエリア 〜 ソートするデータ単位の数*2)
クイックソートを安定化するときには、順番を保持するメモリが必要になるが
恐らく、この順番保持のメモリを「必要なときだけ」確保するというのが >>684のしたいことなんだろう。
そうすれば、ソートキーに同じ物がでなければメモリは確保しなくてよい(これでOK?)
最悪時のメモリ消費量は、マージソートと同じ。

なのでうまく実装すれば、平均メモリ消費量が少なく高速で安定なソートができる。
だが、これってうまく実装しないとバグがでると思うのね。
メモリの確保も繰り返し行えば回数分のオーバヘッドがでるし。
だから、ソートキーがたびたびかぶるっていう状況でのパフォーマンスは理想値よりも悪くなってると思う。
そういう不安定な(パフォーマンス的に)ことになるんだったら、俺は素直にマージソートを取るね。
アルゴリズム的にも素直になってバグを埋め込む心配も減るし。

いかがでしょう?

695 名前:デフォルトの名無しさん :04/10/02 18:40:39
こらおまえたち、DQNを煽るな。

696 名前:デフォルトの名無しさん :04/10/02 18:42:36
STLさえあれば安定かどうかなんて知ったことじゃないし。

697 名前:デフォルトの名無しさん :04/10/02 18:52:14
クイックソートよりマージソートを選んだというのも、
いかにもJavaらしい考え方だよな。

一部の性能を捨てて、下手糞がミスをする可能性を減らしている。


698 名前:デフォルトの名無しさん :04/10/02 19:04:09
ネットワークゲームを作っています。
このゲームでは300MB以上のテキストファイルから指定された行を読み込んで使用します。
そこで、ファイルを全部読み込んで指定された行数だけ\r\nを探すという方法を考えました。
しかし300MBをreadするだけでメモリもCPUもいっぱいいっぱいになってしまい他の処理ができません。
しかもこのテキストファイルはゲーム進行中に新しい行が追加されるなど、更新される可能性があります。
もっと効率的なアルゴリズムはありますか?

699 名前:デフォルトの名無しさん :04/10/02 19:05:34
>>698
バラせ

700 名前:698 :04/10/02 19:06:29
書き忘れました。OSはWindowsです。
テキストファイルはcsv形式になっています。

701 名前:デフォルトの名無しさん :04/10/02 19:07:18
msysでbccやmingwでコンパイルしたものを、実行したのですが日本語の部分が
文字化けしてしまいます。対策方法はあるのでしょうか?

702 名前:689 :04/10/02 19:07:26
>>697
そうなんだよね。さらに性能が必要な場合は手前で作れってことなんでしょうなぁ。
でも、STLもたいていマージソートで stable_sort 実装されてるらしいから、
Javaに限らず標準ってそういうもんでない?

703 名前:デフォルトの名無しさん :04/10/02 19:10:30
>>698
>>699も言ってるけど、ファイルを分割すれば(ハッシュ)いいんじゃないでしょうか?
それと行数ではなく、データを識別するキーを振ってやるのはどうでしょう?
というか、300MBのテキストファイルを扱おうとした段階で漢だと思った俺は古い人か?

704 名前:デフォルトの名無しさん :04/10/02 19:13:38
>>699
>>703
サーバ開始時にファイルを読み込んで行順にバラバラにディスクに書き込むということですか。
なるほど。これなら負荷がサーバ開始時のみでゲーム中に遅延はしなさそうですね。
そして行ではなくキーを指定することで追加にも対応できると。
なんとかできそうです。ありがとうございました


705 名前:703 :04/10/02 19:23:33
>>704
ちょっとまったー。サーバ開始時にファイルを読み込んでって
もともと1つのファイルにまとめておく意義がわからないのですが・・・

706 名前:デフォルトの名無しさん :04/10/02 19:27:47
全部読み込むわけじゃないんだろ。
しかし300MBのデータ用意できるなんて本職だろ?
大丈夫なのかねその会社・・・

707 名前:デフォルトの名無しさん :04/10/02 19:32:00
質問です。
メインのダイアログ(MainDlg)にタブコントロールを貼り付けて
PropertySheet(CPage3)を作成し、その上にRadioButton(IDC_RADIO1)を貼り付けました。

で、CPage3.hのメンバ変数に
public:
CButton *m_pButton1;
と書いて
CPage3.cppに
CPage3::CPage3()
: CPropertyPage(CPage3::IDD)
{
m_pButton1=(CButton*)GetDlgItem(IDC_RADIO1);

}
と書きました。
で、MainDlg.cppのOnInitDialog()
に、m_pPage3->m_pButton1->SetCheck(1);
と書きました。
ちなみにこの動作を入れなければ、タブコントロールもきちんと動いてますし、他のコントロールへの操作も出来てます。
しかしこれを入れると、実行時に不正な処理を行いました。 と言われます。
何故でしょうか?
VC++.NET2003でMFCを使ってます。
宜しくお願いします。

708 名前:デフォルトの名無しさん :04/10/02 19:32:51
>>705
エクセルとかで編集されて1つのファイルとして持ってこられるので、そう書きました。
たしかに無駄ですね。

・・・300MBは1つの可能性で、少しオーバーだったかもしれません。

709 名前:デフォルトの名無しさん :04/10/02 19:33:40
ログファイルみたいに追記するだけなら、分割なんてしないで
各行へのインデックスを別のファイルにしておけばいいだけ。
300MBなんてすぐ読める。

710 名前:703 :04/10/02 19:51:49
>>708
なるほど。でも、ゲーム中に変更されるってことはエクセルデータは初めだけなんでしょ?
データとして使う前に分割しておけば・・・。行数でアクセスする必要があって
ゲーム中にデータを変更するんだったら
ほんとはDBとか構造化した状態で持っていたほうがいいとは思うんだけどね。
>>709
追記だけならそれでOKですよね。

711 名前:707 :04/10/02 21:00:45
(´・ω・`)

712 名前:デフォルトの名無しさん :04/10/02 21:10:07
>>711
こっちのほうが適当
http://pc5.2ch.net/test/read.cgi/tech/1088084875/


713 名前:デフォルトの名無しさん :04/10/02 21:26:12
GetDlgItem()の書き出すポインタは固定ではない。
だから何らかの操作をする直前に
CButton *radio3 = (CButton*)GetDlgItem(IDC_RADIO3);

って感じで使わないといけない。

714 名前:デフォルトの名無しさん :04/10/02 21:32:03
>>712
THXです。
そちらで聞いてみます。

>>713
なるほど・・・
でも、その方法でやりましたが、結果は同じでした。

715 名前:デフォルトの名無しさん :04/10/02 21:37:51
>>707
GetDlgItemなどで得られるテンポラリなポインタはメンバ変数に保存しちゃまずいんです。
MFC内部のハッシュでHWNDとCWnd*の対応関係がキャッシュされているのですが、
OnIdleのなかでハッシュがクリアされてしまいます。

コントロール変数を追加したほうが適当だと思います。

m_pPage3も実はテンポラリかもしれません。


716 名前:713 :04/10/02 22:01:02
>>653>>715
とでは、Radio Buttonのコントロール変数の是非が別れとるなw

でも、俺がやった時は、普通に起動直後に落ちるって事はなかったが・・・



717 名前:714 :04/10/02 22:07:56
レスありがとうございます。
試しにダイアログにButtonを作成し

void CMainDlg::OnBnClickedButton1()
{
// TODO : ここにコントロール通知ハンドラ コードを追加します。
CButton *pButton=(CButton*)GetDlgItem(IDC_RADIO1);
pButton1->SetCheck(1);

}

とやってみましたが、起動後Buttonを押してみると、やはり不正な処理と言われます。


718 名前:デフォルトの名無しさん :04/10/02 22:09:30
IDC_RADIO1のIDのボタンがそもそも存在しない予感。

719 名前:717 :04/10/02 22:17:51
>>718
全部設定されてるのを確認しています。
ただ、何度かそのIDを変えたことがあるので、内部でおかしくなっちゃったのかな?(汗
正しく設定されてる事を確認する方法とかないですか?

720 名前:デフォルトの名無しさん :04/10/02 22:23:19
>>718
存在しなかったら、コンパイラがエラー吐くでしょ

>>719
一度IDC_RADIO1全部消してみたら?
配置しなおした方が早いと思う。

721 名前:717 :04/10/02 22:28:16
>>720
全部配置しなおしたりしてみましたが、やはり結果は一緒でした・・・。

722 名前:デフォルトの名無しさん :04/10/02 22:43:44
>>635の件ですけど、最小二乗法で
y = a + bx と計算した直線と
x = c + dy と計算してから、y = x/d - c/d とした直線は
同じにならないと思うのですけど。

やはり全ての点からの距離の和が最小になるように計算しないと
駄目なような気がするのですが。

723 名前:デフォルトの名無しさん :04/10/02 22:56:13
VS6.0 HTMLでエラーがあるとかってに起動しする
でブラウザかってに閉じる

これ止めさせるのどうしたらいいの

724 名前:デフォルトの名無しさん :04/10/02 22:56:20
>>722
何を言っているの。
全ての点を計算に入れるのは当り前でしょう。

725 名前:デフォルトの名無しさん :04/10/02 22:59:15
>>724
それは分かってるけど、普通に最小二乗法で解いたのでは
>>635の欲しい直線は得られないんじゃないかってこと。

726 名前:648 :04/10/02 23:24:02
>>722,724,725
全ての点から直線までの距離の和が最小になるような直線は、
全ての点から直線までの距離の2乗の和が最小になるような直線と同一なのです。
基本はそこ。

727 名前:デフォルトの名無しさん :04/10/02 23:27:03
好きにさせろよ。もう。

728 名前:デフォルトの名無しさん :04/10/02 23:34:51
>>726
2乗した和を最小にした直線と絶対値の和を最小にしたのとでは違うでしょ。
それに今言ってるのはy方向やx方向だけ見てるけど
それではだめじゃないかってことだし。

729 名前:デフォルトの名無しさん :04/10/03 00:31:08
>>726
(0,4),(1,4),(2,0),(3,4),(4,4)
これ距離の和が最小になる直線は y = 4 だと思うけど
距離の2乗の和が最小になる直線は y = 3.2 だよね多分。

730 名前:デフォルトの名無しさん :04/10/03 00:40:32
なんで2乗するか分かっているのか?

731 名前:648 :04/10/03 01:02:42
>>728
今はじめて>>635のリンク先見てきた。
ごめんアレは絵をみないと分からないね。線に対して点から垂直に線を引いてない。
つまり、
・点と線の距離の二乗の和が最小になる直線を求める方法
ではなく
・点と線のy軸方向の差の二乗の和が最小になる直線を求める方法
だ。この2者は別の解を持つ、というか求めたいものが違う。
俺の知っている最小二乗法による直線近似は、前者の近似法であり
後者の近似は、より簡易的な近似になってしまうはずだ。
というのも、データの点のx軸方向のばらつきによっては精度が変わってくるからだ。
最小二乗法というのは、求めたい近似解とデータの「ずれ」の二乗が最小になるように
データを求める手法なので、「ずれ」を何にするかによって求めるものが変わって来る。
前者は、データ点と線の距離を「ずれ」とし、後者は、データ点と線のy軸方向の距離を「ずれ」と見ている。
言うまでもなく近似の精度が高いのは、より多くの情報を使っている前者である。
リンク先の近似法は、簡易的な近似法であると考えていたほうがよいと思う。
>>730
計算が楽だから。絶対値計算を考えなくていいでしょ。

732 名前:デフォルトの名無しさん :04/10/03 01:05:36
>>731
結果は同じだよ
>>681が正しいんじゃね?

733 名前:デフォルトの名無しさん :04/10/03 01:10:46
>>732
それ違うんじゃないの?
xの方向で誤差を最小にした直線と同じにならないよ。

734 名前:デフォルトの名無しさん :04/10/03 01:13:46
>>733
求めるのは距離の和の最小値をとった時の直線のパラメータだよ?

735 名前:デフォルトの名無しさん :04/10/03 01:21:01
>>734
それどうやって求めるの?
回帰直線を求めるやり方じゃだめでしょ?

736 名前:デフォルトの名無しさん :04/10/03 01:21:10
そもそも近似直線なのに細かい誤差を気にしてもしょうがないような気もするのだが

737 名前:デフォルトの名無しさん :04/10/03 01:25:59
>>735
f(x)=ax+bで
g(a,b) = Σ_{i=1}^n 距離^2
でg(a,b)をa,bでそれぞれ偏微分したやつが0になる連立方程式を解くだけやん

738 名前:648 :04/10/03 01:30:00
ちょっと例を作って計算してみるわ。

739 名前:デフォルトの名無しさん :04/10/03 01:30:09
>>737
その式の距離ってのが(yi-(axi+b))だったら
点と直線の距離が最小にはならないでしょ?

740 名前:デフォルトの名無しさん :04/10/03 01:31:29
>>739
だれも最小値なんてものを欲しがってないよ。
最小となるときのa,bが欲しいんだよ。

741 名前:デフォルトの名無しさん :04/10/03 01:33:26
>>740
そうだけど、その式の距離に(yi-(axi+b))を当てはめて
計算したaとbの直線は欲しいものではないってことだけど。

742 名前:648 :04/10/03 01:36:26
>>740
誤解があると思うところ。
「何が」最小なのかというのが問題になってんじゃない?
(計算中 : (0,1) (1,3) (2,2) (3,2) (4,4) (5,4) の近似直線を y座標の差でだしたときと点と直線の距離で出したときを計算中)

743 名前:デフォルトの名無しさん :04/10/03 01:36:32
>>741
点と直線の距離とy軸成分の点と直線の距離は比例するから、
どちらで計算しても結果は同じだって、同じ事をなんども(略

744 名前:デフォルトの名無しさん :04/10/03 01:39:39
ネストが重なって見づらいから、とか一連の処理が長ったらしいから、とか
そういう理由で(再利用化や汎用化のためでない)関数化って宜しくないのでしょうか。
それとも「まぁ実際よくやるこった」って感じなんすかね

745 名前:デフォルトの名無しさん :04/10/03 01:39:45
>>743
でもxでやったのとyでやった結果の式明らかに違うんだけど。
似た直線にはなるけど。

746 名前:648 :04/10/03 01:40:57
途中経過:
(0,1) (1,3) (2,2) (3,2) (4,4) (5,4) と、y=ax+b のy座標の差の二乗を足したもの
55a^2 + 6b^2 + 30ab - 98a -32b + 50
取り合えず偏微分すればいいのか?10年ぶりだよ、こんなのするの・・・

747 名前:648 :04/10/03 01:53:52
>>744
いいんじゃない?分かり易ければ。うまくコーディングすればどうせインライン展開されるし。
(休憩中)

748 名前:デフォルトの名無しさん :04/10/03 02:00:57
>>743
(0,0) (1,1) (2,2) (3,3) (4,4) (4,0)
これだと y = x/2 + 1/2 になるけど
y = x のほうが距離の和は少なくなる。

749 名前:デフォルトの名無しさん :04/10/03 02:02:43
2乗の和だった。
2乗しなくても少なくなるけど。

750 名前:648 :04/10/03 02:05:01
途中経過: (0,1) (1,3) (2,2) (3,2) (4,4) (5,4) と、y=ax+b のy座標の差の二乗を足したもの
aで偏微分掛けた。 で、出てきたaの極大点の値は a=(49-15b)/55 これを戻して今度は bで偏微分・・・あってんのか・・・やりかた。
で、bの値は b= 29/21 そのときのaは 18/35 。 y座標の差で求めた場合は、 y= 18x/35 + 29/21

次は点と直線の距離の2乗の和で求めた場合か・・・だりー


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.