- 1 名前:デフォルトの名無しさん [2010/03/23(火) 00:57:51 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/ スレを勃てるまでもないC/C++の質問はここで 6 pc11.2ch.net/test/read.cgi/tech/1231564903/ スレを勃てるまでもないC/C++の質問はここで 7 pc11.2ch.net/test/read.cgi/tech/1232983248/ スレを勃てるまでもないC/C++の質問はここで 8 pc12.2ch.net/test/read.cgi/tech/1235921779/ スレを勃てるまでもないC/C++の質問はここで 9 pc12.2ch.net/test/read.cgi/tech/1240022781/ スレを勃てるまでもないC/C++の質問はここで 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ スレを勃てるまでもないC/C++の質問はここで 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ スレを勃てるまでもないC/C++の質問はここで 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ スレを勃てるまでもないC/C++の質問はここで 13 pc12.2ch.net/test/read.cgi/tech/1260842197/
- 89 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:37:22 ]
- fopen("1.txt",fp)後に while (fgets(s, 256, fp) != NULL) {Line++}で行数を読み込みます。
Lineが100あり、30行目の内容を読み込みたい時ですが、 int a=30,Line=0; while (fgets(s, 256, fp) != NULL) { Line++ if(Line=a) 適当な関数(s); } 上の記述だと1〜30まで繰り返しますが、ダイレクトに30行目を読み込む方法ってあります? for()
- 90 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 00:30:22 ]
- 1行の長さが不定なら前から見ていくしかないよ
- 91 名前:デフォルトの名無しさん [2010/03/26(金) 02:40:50 ]
- BOOLEAN BOOL boolean bool
どれ使えばいいの?(´;ω;`)
- 92 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 03:06:31 ]
- BOOLかbool
- 93 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 06:25:42 ]
- ありがとう
- 94 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:41:27 ]
- >>89
そのソースだと全行で関数が呼び出されるぜw
- 95 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:45:48 ]
- algorithmのstd::remove()について質問です。
std::vector<int> v; v.push_back(0); v.push_back(1); v.push_back(2); std::remove(v.begin(), v.end(), 0); std::remove(v.begin(), v.end(), 1); printf("%d", v.size()); 上記のようにすると、最後のvのサイズは1を期待するのですが3のままです。 でも、v[0]には本来の0ではなく2が入っています。 v[1]もv[2]も2が入っています。 std::remove()の代わりにvector::erase()を使用すれば、 v.size()は1を返します。 std::remove()はそういうモノなのでしょうか? VC2008で確認しています。
- 96 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:55:20 ]
- >>95
そうです 期待通りの動作をさせるには v.erase(std::remove(v.begin(), v.end(), std::compose2( std::logical_or<bool>(), std::bind2nd(std::equal_to<int>, 0), std::bind2nd(std::equal_to<int>, 1))) とする必要があります
- 97 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:57:09 ]
- あ、ごめん
v.erase(std::remove(v.begin(), v.end(), std::compose2( std::logical_or<bool>(), std::bind2nd(std::equal_to<int>, 0), std::bind2nd(std::equal_to<int>, 1)), v.end()) だった removeは残す要素の候補を前に集めるだけで、実際の削除は しませんのでstd::eraseもしくはメンバ関数eraseを使います
- 98 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 11:18:20 ]
- >>97
erase 使うのならそんな面倒なことせず remove を erase に置き換えれば良いだけだと思うけど。
- 99 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 11:56:46 ]
- v.erase(std::remove(v.begin(), v.end(), 0), v.end());
v.erase(std::remove(v.begin(), v.end(), 1), v.end()); これでいいね removeは第三引数にリファレンスを取るのでlogical_orが使えないな
- 100 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:00:18 ]
- 使うとしたらremove_ifとboost::bindを組み合わせるかだ
- 101 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:05:16 ]
- やっと動いた
これは読みにくいわ(^ω^;) v.erase( std::remove_if(v.begin(), v.end(), boost::bind( std::logical_or<bool>(), boost::bind(std::equal_to<int>(), _1, 0), boost::bind(std::equal_to<int>(), _1, 1) ) ), v.end());
- 102 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 12:08:36 ]
- ちなみにboost::bindを使ったのは、標準C++にはstd::compose2が無いためです
- 103 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:02:28 ]
- 質問は
>std::remove()はそういうモノなのでしょうか? であって、そういう汚いコードに興味はありません。
- 104 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 16:54:30 ]
- boost使ったからまだ綺麗なんだぞ
もっと汚いコードは山ほど書いてきた
- 105 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:12:19 ]
- >>104
だから、コード書いてくれなんて誰も頼んでないつーの。 オナニーはよそでやってくれ
- 106 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:23:03 ]
- ときどき void main って書くやついるよね。
なんなんだろうね。馬鹿じゃないかと思うよね。
- 107 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:28:36 ]
- まともな事には答えられないからって、同じ話題をループさせようとすんなよw
- 108 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:46:36 ]
- オブジェクト(インスタンス)を生成するときに変数をポインタにするのとしない場合が
ある理由を教えてくださいませませ Unko* unko_kusai Chinko chinko_1
- 109 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:51:11 ]
- >>108
生成パターンを使うと大抵ポインタにならないか? それから仮想関数で使う場合もポインタにしなければならない
- 110 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:04:49 ]
- 別に参照でもいいよ
- 111 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:06:33 ]
- >>108
変数にすると、生存期間をコントロールできない。 ポインタなら自由にコントールできる。 けど自由な分手間もかかるし、プログラマが責任を持つ必要がでてくる。
- 112 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:08:00 ]
- >110
仮想関数の場合な 使う場面は限られるけど 生成パターンでもシングルトンだと参照の場合もあるし
- 113 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 18:16:56 ]
- Hoge hoge;
{ HogeBase &h = hoge; h.vfunc(); } ポインタじゃなくてもvtable参照してくれますよ
- 114 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:12:27 ]
- >>113
知ってるから わざわざ書かなくてよろしい
- 115 名前:108 mailto:sage [2010/03/26(金) 23:44:05 ]
- レスありがとうございます
今勉強してるサンプルプログラムでポインタあ・なしの両方が出てきて、何故に使い 分けてるのか疑問だったのですが、一方は複雑なことやる必要があるからポインタ、 もう一方はその必要が無いなら安全なポインタ無し という風に使い分けてるという解釈で おkですかね?
- 116 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:46:46 ]
- >>115
自動で済ませられるなら自動に任せるって琴田
- 117 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:57:48 ]
- >>99
初回のremove()の結果を二回目のremove()の第二引き数とすればerase()は一回でいいんじゃね? >>101 だとすればわざわざそんなややこしいbind()するメリットもないんじゃね?
- 118 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:46:00 ]
- >>115
メモリリークするバグを潰すのは大変だ。と前置きをした上で。 ポインタにしなかった場合、その変数のスコープから抜けるときに 変数の後始末を自動でやってくれる。つまりメモリリークの心配がない。 これは色々処理をする途中で、エラーが発生したら中断、みたいな処理をするときにはとても楽。 ポインタを使った場合、中断するときにnewしたオブジェクトを正しく全てdeleteしないと メモリリークになるのでよく注意する必要がある。 一方で、>>109の言うようにオブジェクトの生存期間を自分で管理したい場合や、 継承を使ったオブジェクトを使いたい場合、 もしくは大きなオブジェクト(大きな配列など)はポインタを使う必要がある。 C++であれば、ポインタでありながら、メモリリークの心配がいらないスマートポインタという 仕組みがよく使われる。(boost::shared_ptrなど) これを使うと普通のポインタよりも実行速度がやや遅くなるが、普通は気にするほどではない。
- 119 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:54:03 ]
- 速度気にならなければ、動的メモリ確保をすべて乗っ取って
ガベージコレクションした方が良い。 ヘッダ変更だけで済む
- 120 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:55:54 ]
- はじめからnewを使わないという戦略もある
STLをうまく使えば、スマートポインタ、ガベージコレクション、new はほとんどいらんだろう。
- 121 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 05:50:38 ]
- >>117
>初回のremove()の結果を二回目のremove()の第二引き数とすればerase()は一回でいいんじゃね? アホ removeの戻り値は削除候補の先頭だ 前に集められた候補の中に次に削除したい値が含まれているので その方法はダメ >だとすればわざわざそんなややこしいbind()するメリットもないんじゃね? だったらお前が何か書いて見せろや 口だけ出して何もしない奴が一番嫌いだな
- 122 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:34:09 ]
- >>121
間抜けで頓馬で馬鹿と来ちゃ、どうしようもないな。 ・間抜け 削除候補が集められるのは前じゃなくて後ろだよ。 つまり、「後ろに集められた削除候補の先頭」が戻されるって訳。 ・頓馬 自分で確認すれば間違いに気付けたのにそれさえしないんだからな。 ・馬鹿 その上、何か書いて見せろって自分が書けもしないのによく言うよ。 馬脚を現わした挙句に自ら墓穴を掘ったわけだ。
- 123 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:43:16 ]
- >>122
間抜けのアホはお前だ >削除候補が集められるのは前じゃなくて後ろだよ。 >つまり、「後ろに集められた削除候補の先頭」が戻されるって訳。 そんなもん常識だろ >>121のどこにこれを否定するような文が書いてある? >>117の通りにしたら1が削除されずに残ってしまうだろ 実行して試してみ それとも図星を突かれて悔しくてファビョったのか?
- 124 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:52:48 ]
- 二人とも言い合いせずに特に>>122はプログラム例を書いて示せ
お前さんの言いたい事はこういう事だろ? std::vector<int> v; v.push_back(0); v.push_back(1); v.push_back(2); v.erase(std::remove(v.begin(), std::remove(v.begin(), v.end(), 0), 1), v.end()); std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; std::printf("%d", v.size());
- 125 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:35:13 ]
- >前に集められた候補の中に
- 126 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:38:05 ]
- >>125
合ってるじゃないか 前に集められた「削除から外される」候補の中にと文脈からは取れるだろ >前に集められた候補の中に次に削除したい値が含まれているので これをよく読め
- 127 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:39:47 ]
- 要するに>>122はイチャモン付けて喧嘩したいだけなんだよ
相手が誰であろうと構わないわけだ だったら痛くも痒くもないネット内でのビビリ喧嘩などせずに 街に出てDQNに喧嘩吹っ掛けてボコボコに殴られてこい
- 128 名前:122 mailto:sage [2010/03/27(土) 09:51:16 ]
- んじゃ、>123のために私の書いたのを貼っておく。
まぁ、>124と核は同じだね。 -- #include <algorithm> #include <cstdio> #include <vector> int main() { std::vector<int> v; v.push_back(0); v.push_back(1); v.push_back(2); for (int ic = 0; ic < 10; ++ic) { v.push_back(ic % 5); } v.erase(std::remove(v.begin(), std::remove(v.begin(), v.end(), 0), 1), v .end()); for (std::vector<int>::const_iterator it = v.begin(); it != v.end(); ++i t) { printf("%d\n", * it); } return 0; } -- それはさて。 >>>121のどこにこれを否定するような文が書いてある? >121には「前に集められた候補」とあるんだけどな。 まぁ、「削除候補とは書いてない」と言い出すだろうからまぁいいや。
- 129 名前:122 mailto:sage [2010/03/27(土) 09:59:35 ]
- うぉっ、80カラムでぶった切れているから難癖つけられる前に問題の行だけ再掲。
-- v.erase(std::remove(v.begin(), std::remove(v.begin(), v.end(), 0), 1), v.end()); for (std::vector<int>::const_iterator it = v.begin(); it != v.end(); ++it) { -- つーか、書いている間に予想通りのレスがついてて笑えた。 無茶しやがって……
- 130 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 10:00:31 ]
- >>128
>>126 お前の目はフシアナだ
- 131 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 10:44:25 ]
- >>126
>removeの戻り値は削除候補の先頭だ >前に集められた候補の中に次に削除したい値が含まれているので 一行前に削除候補って書いてあるのに、次の行の候補が「削除から外される」候補と 読むのはかなり無理がある
- 132 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 10:48:56 ]
- >>131
お前の頭が悪いからだ その分だとプログラムもバグだらけだろう
- 133 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:00:02 ]
- >>132
いい加減見苦しい。 説明が下手か勘違いしていたのかは詳らかではないが、 そもそも>117で巧くいくことははっきりしている。 他人を嫌う前に、ご自身の言動を見直してみては如何?
- 134 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:03:36 ]
- >>133
見苦しいのはお前の方 こちらの説明が間違ってないのに間違って言い張るお前は馬鹿
- 135 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:08:20 ]
- >>120
STLをうまく使うにはスマポは必須だけどね。 スマポでもshared_ptrならmake_sharedを使えばnewもいらず例外安全性も確保されるようになるし。 STL+shared_ptrでnewもガベコレもいらなくなるね。
- 136 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:11:45 ]
- >>117はせっかっく良いことをいったのに、挑発レスを受け流せずに台無しだ。
- 137 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:13:16 ]
- >>117は単純馬鹿だからな
この分だと仕事場でも>>117は同僚とぶつかってばかりだろう
- 138 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:18:35 ]
- >>121
> その方法はダメ 見苦しい弁解まだ〜w
- 139 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:31:30 ]
- 的外れな突っ込みをするバカが一番悪いだろw
- 140 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:33:44 ]
- >>99
これで単純明快なのにケチを付ける奴が一番悪い
- 141 名前:115 mailto:sage [2010/03/27(土) 12:05:39 ]
- 皆様詳しいレスありがとうございました。
色々まだ自分の知らないワードが出てきたのでググって勉強しますぉ。
- 142 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:51:58 ]
- SetTimerでタイムアウト後、タイマのプロシージャの中でKillTimerしても良いんでしょうか?
プロシージャ外じゃないと駄目なんて事は
- 143 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:13:10 ]
- >>142
なんのSetTimer? Win32ならWin32スレで聞くと詳しいぞ
- 144 名前:142 mailto:sage [2010/03/27(土) 22:21:24 ]
- SetTimerはWin32でした、すみません。
- 145 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:14:51 ]
- gnuplotでリアルタイム解析をするクラスを作りたいんだけど参考になるものなにかありますか?
- 146 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:16:26 ]
- なんのリアルタイムかわからん
アクセス解析か
- 147 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:22:33 ]
- 物理の数値計算です
3次元での粒子の位置などを見ます
- 148 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:37:52 ]
- gnuplotは表示ツールであって解析ソフトではないと思うが。
一応「gnuplot C++」あたりでググればそれっぽいページは出てくるな。 だが、もう少し本当にやりたいことは何なのか考えてみた方がいいと思う
- 149 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:49:26 ]
- >>147
解析を行いたいのか、解析データはあるからプロットだけしたいのか?による。
- 150 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:13:05 ]
- パイプ開いてコマンドを出力すればリアルタイムに描画してくれるよ
ただ糞遅いから結局のところ違う描画ライブラリ使うことになるだろうけど
- 151 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 01:02:21 ]
- >>149
後者です >>150 別にいいのがあるならどんなのがあるか教えてもらえるとありがたいです
- 152 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 01:11:06 ]
- home.f08.itscom.net/okuya8/nnodysimulation.pdf
ここの5.8章みたいなことがしたいということです 説明下手ですいません
- 153 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:23:54 ]
- C++とJavaの両方を勉強する意味ってありますか?何か範囲がかぶってる気がしまして。
- 154 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:36:05 ]
- >>153
英語とフランス語の両方を勉強する意味ってありますか?
- 155 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:38:14 ]
- 意味はあるに決まってるが、
一方を勉強したらもう一方を勉強するのはかなり楽
- 156 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:07:03 ]
- 英語とフランス語というより
英語とドイツ語ってぐらいか
- 157 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:14:29 ]
- スペイン語とポルトガル語くらいじゃないか
- 158 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:15:44 ]
- 例えが分かりにくくないかw
要するにどっちも覚えたら最強ってことだ
- 159 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:16:31 ]
- >>153
> C++とJavaの両方を勉強する意味ってありますか?何か範囲がかぶってる気がしまして。 仕事がかぶってないからいいんじゃね?
- 160 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 23:47:57 ]
- 両方覚えてようやく半人前だと思うぞ。
- 161 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 23:53:23 ]
- >>153
C++を学べばjavaもc#も軽い軽い
- 162 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 23:55:26 ]
- いや重いよ
- 163 名前:デフォルトの名無しさん [2010/03/29(月) 00:25:58 ]
- 64bit PCでのドライバの操作を含むアプリを開発する場合。
32bitビルドのアプリ(wow64で動作)と64bitドライバの組み合わせで動作させることは可能でしょうか? DeviceIoControlなどのドライバとのIOなど、その他動作面で問題ないでしょうか?
- 164 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:52:16 ]
- VisualStudio2008でビルド後にVMware内で起動させてデバッグするにはどうすればよいでしょうか?
できればF5キー一発ぐらい自動的な方法でお願いします
- 165 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 08:55:43 ]
- >>163
どちらも作り方しだいです。 >>164 VMware 内で VS を動かしてください。
- 166 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 10:00:54 ]
- >>162
少しワロタ
- 167 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 16:00:33 ]
- >>153
並行して設計できるようにならないと無意味
- 168 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 16:01:03 ]
- 訂正:設計できるように→設計もできるように
- 169 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 16:45:38 ]
- >>165
すみませんが実機でビルドしてVMwareにロードさせる方法を教えてください
- 170 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:09:24 ]
- 実機でビルドしたならそのまま動かせばいいだろ。
開発機でビルドしたというなら話は別だが。
- 171 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:15:52 ]
- >>169
逆に普段どうやってるんだ? 隣のPCで動かすのと同じだろ。
- 172 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 17:34:38 ]
- プロジェクトフォルダごとDVCSのリポジトリにコミットして
VMWare上の環境でそれをcheckout
- 173 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 18:28:51 ]
- それを自動化すればいいじゃん。
- 174 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:27:00 ]
- public継承する場合、派生クラスは基底クラスについてよく知っていると考えておk?
- 175 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:35:56 ]
- ある右辺を有する配列の番号?を得るにはどうしたらいいでしょうか?
例えば配列int x[3]の3つの要素がそれぞれ 1,3,5であるが、どのx[]がそれぞれ1,3,5を有するかわからない場合に、 maxたる5を有するx[?]の?を出力したいのです。 特に、これの2次元配列版の出力方法を教えていただきたいのですが
- 176 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:37:25 ]
- 普通に検索する
- 177 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 16:35:35 ]
- 配列の要素数がそんなに大きくなければ、for文で先頭から探せばいいんでねーがな。
- 178 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 16:45:18 ]
- ユニークなら格納方法を変える
ユニークで無いなら考察無意味
- 179 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 17:19:02 ]
- >>174
よくではなく、ある程度知っていればOK。
- 180 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:58:55 ]
- #include "a.h"
と書いた場合 ・そのファイルと同じディレクトリのa.h ・コンパイルしたディレクトリのa.h のどっちが選ばれるのかは決まってますか?
- 181 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 23:10:50 ]
- 未規定
- 182 名前:デフォルトの名無しさん [2010/03/31(水) 01:32:58 ]
- >>180
サーチパスの優先順位の高い方
- 183 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 02:05:31 ]
- C++どれくらいで基本身につきますか?
ちなみに今中学生です
- 184 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 02:58:10 ]
- perl出身なんだだけど、どうもCが無意味にめんどいように感じてしかたありません。
一言で言うと、制限とか宣言とか制約とか多すぎます。今、1変数1バイトの所まで知ってやる気がなくなってきました。 例えばですけど、こんなふうに処理が書きたいです my %fanc = ( 'fanc_a' => sub{ なんか処理 }, 'fanc_b' => sub{ なんか処理 }, ) my @fanc = ('fanc_a', '引数'); #これ外部から取り入れた文字列 my $code = '??'; #これも外部から取り入れた何かのコード $code =~ s/(変換しますお)/$fanc{"$fanc[0]"}->($fanc[1], $1);/eg; 完全に頭の中がperlに支配されてるんです。perlしかできないから。 Cを始めた理由は「exeなGUIを作りたかった」ってだけなんですが、もしかしてC以外を覚えたほうがいいでしょうか? なんでもいいからなんかお勧めしたり、Cを肯定したり、助言したり、こんな情報みれやとURLを貼ったりしてほしいです。 どうすればいいのか全てを見失ってきそうです。
- 185 名前:デフォルトの名無しさん [2010/03/31(水) 03:05:47 ]
- perl windows gui の検索結果
ttp://www.google.co.jp/search?hl=ja&source=hp&q=perl+windows+gui&lr=&aq=f&aqi=g3g-s1g6&aql=&oq=&gs_rfai=
- 186 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 03:17:46 ]
- >>183
人によるとしか。すぐできる奴もいれば10年かけてもダメな奴もいる。 数学・英語・料理・ゴルフ・・・なんでも同じだな。
- 187 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 03:19:19 ]
- ありがとうございます。
でもperlをexeにしたら、一通りやりましたが何を使ってもバグるんです。 警告なしで関数が動かずにスルーされてたりするんです。ひどいですよね。
- 188 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 03:20:26 ]
- ずっとperlだけをやるのが一番いいだろ。
- 189 名前:デフォルトの名無しさん [2010/03/31(水) 03:28:50 ]
- perlが得意ならそのライブラリのソース読んで自作すればいいんじゃないのかな?
もしくは修正する。 結局、言語部分でしっくりきてないようだけどさ、 どちらにしてもWindowsAPI(exeなgui)などの知識が別途必要になってくる訳だし。
|

|