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


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

【初心者歓迎】C/C++室 Ver.92【環境依存OK】



1 名前:デフォルトの名無しさん [2014/07/31(木) 19:14:13.79 ID:17Xd3Yqq]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
前スレ
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
peace.2ch.net/test/read.cgi/tech/1400394837/

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

110 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:45:04.00 ID:B23vVFp/]
64bitはfastcall固定だろ?

111 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:51:34.75 ID:m6I/Kwd1]
バカは新たに覚えることが一つ増えることが大きなストレスなので

112 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 01:39:02.11 ID:KHsP8XKA]
__vectorcallは別物だっけ?

113 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 22:48:59.68 ID:x6pgPkV/]
c++での重力多体問題のプログラムについての質問です。
物体同士の距離を計測し、その間に働く力を調べるという単純なものです(計算回数は物体数の二乗になる)。
このプログラムで扱える物体数の限界を知りたいのです。

パソコンのスペックや限界をどう決めるかにも依ると思うので物体数と計算時間の関係式を教えてくれませんか?

一応自分でも考えてみました
計算時間=(物体数^2 × 1ループのステップ数)/CPUのクロック数
で求めることが出来そうだと考えたのですが、四則演算やその他演算などのステップ数が分かりませんでした。

114 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:53:46.60 ID:01BFu9Gu]
>>113
計算式にもよるしCPUの種類にもよる。
実験して計測すれば、1ループあたりの時間がわかるから、
あとは物体数から全体の時間が推定できるでしょ。

115 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:58:20.12 ID:gKCHEkZ/]
try {
}
catch(int i, char *&s) {
}

こんな感じで複数の引数で例外をcatchってできる?
できるとしたらthrowする時どう書けばいい?

116 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:36:57.87 ID:kN50ePbr]
>>115
出来ない。
std::exception派生してメンバに入れろ。
tupleで括ってthrowも出来るけどそもそもstd::exeption以外をthrowするのはあまりよろしくない。

117 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:43:50.18 ID:6vo/MVse]
>>116
ありがとう

118 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:44:32.02 ID:6vo/MVse]
こんな感じで可変引数を展開せずにそのまま別の関数の引数にするってできる?
func(format, ...) {
 func2(format, ...);
}



119 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:52:21.78 ID:RARSJSh7]
もちろん

120 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:02:40.10 ID:AkXpz4Sp]
いいえ、できません

121 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:03:29.08 ID:sPU18Xtd]
>>118
func2()がvprintf()などのようにva_listを受ける関数ならできる。
逆に言えば、func2()のプロトタイプがfunc1()と同じならできない。
func1()内で環境依存の方法を使えば、或いはできるかも知れんが。

122 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:12.95 ID:6vo/MVse]
>>121
ありがとう

123 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:39.99 ID:tuwrl1wM]
>>116
>std::exeption以外をthrowするのはあまりよろしくない

理由は?

124 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:49:28.67 ID:kN50ePbr]
>>123
受け取る側が対処しづらい。

125 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 08:25:13.71 ID:s/pNwkYb]
wchar_tに対応してない糞なstd::exceptionは使う気がしません

126 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:13:14.64 ID:kN50ePbr]
wchar_tってなににつかうの?

127 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:40:59.82 ID:Vxx37Jb0]
そんなにwchar_tが必要なら
派生して対応させればいいだろう。

128 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 10:12:48.97 ID:+T7xdrkU]
> 受け取る側が対処しづらい。

意味わからん、>>124 が対処できないだけじゃね?

>>125
ほんこれ、そろそろなんとかしてほしいもんだ。



129 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:10:41.36 ID:aGEftFoO]
>>114
ありがとう

130 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:13:49.49 ID:Vxx37Jb0]
完全に中で閉じて使う分にはどうでもいいんじゃね。
まあそういうつもりの仕様すら公開されていない例外が、間違って外に漏れてきたら
取り合えずstd::exceptionで受けてwhatで
素性を見てみたくなるな。

131 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:22:15.53 ID:gYP0Auob]
今更wchar_t使うメリットって何よ

132 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:23:23.89 ID:RARSJSh7]
今更char使うメリットって何よ

133 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:31:22.87 ID:gYP0Auob]
>>132
wchar_tよりマシ。

134 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:32:58.93 ID:Vxx37Jb0]
utf-8で扱うのが楽すぎて

135 名前:デフォルトの名無しさん [2014/08/09(土) 12:39:57.76 ID:gH6dyz5c]
wchar_tの_tって何?
wchar のほうが良くないか

136 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:41:59.21 ID:RXuWJHc/]
アプリケーションは外部(ファイル/通信)とのやりとりはUTF-8でして
内部処理はwchar_tの方が扱いやすい

137 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:44:27.16 ID:gYP0Auob]
char32_tとかならメリットわかるけど、
wchar_tは一文字の長さ固定で扱えない環境あるし。Windowsとか。
そんな環境でも固定長だと思って途中でぶった切るバカが必ずいるし。
固定長で扱える長さの環境と固定長で扱えない長さの環境が存在してるからどう扱えばいいのかわからないんだけど。wchar_t推してる連中はどうしてんの?


>>135
ググれ

138 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:46:46.07 ID:Vxx37Jb0]
合成文字とか言う仕組みのせいで
wchar_tでも結局手間は変わらないような

wchar_tが16bitなwindowsだとサロゲートペアで日本語限定でも問題出てくるし



139 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:58:27.92 ID:RARSJSh7]
合成文字なんて使うやつが悪い
問題になってから考えればいい

140 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:58:32.23 ID:RXuWJHc/]
文字の管理単位がUnicodeのコードポイント単位なのとバイト単位なのでは
扱いやすさがぜんぜん違うんだが
可変長をいいわけにして思考停止してね?

141 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:00:52.29 ID:gH6dyz5c]
>>137
_tでググっても分からんかった。
stringに対しwstringなら
charに対しwcharの方がスッキリする。
それにタイプする時にアンダスコア入れにくいし。
一体誰がこんなヘンテコなwchar_tなんて名前を
付けたのかな?

142 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:08:06.07 ID:gYP0Auob]
>>140
UTF-16だとコードポイント単位ですらないって言ってるんだけど。
どうやって1コードポイントを16Bitで表すんだい?

143 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:38:40.81 ID:+T7xdrkU]
>>141
> 一体誰がこんなヘンテコなwchar_tなんて名前を付けたのかな?

size_t って決めた奴に言ってくれ

144 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 14:38:48.88 ID:gRSnwdty]
後付である以上
既存のコードとかぶらないために
あえて選りすぐりのへんてこな名前をつけざるを得ない

145 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 14:44:17.42 ID:gH6dyz5c]
俺だったら
whar
にするな。

146 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 15:00:35.46 ID:gYP0Auob]
型名を_tで終わらせるのはPOSIXで予約されてるから付けやすいのよ

147 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 16:26:58.59 ID:kN50ePbr]
>>140
思考停止して固定長だと思い込んでたことを指摘された気持ちはいかがですか?

148 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 18:56:27.64 ID:ogb0Lg1q]
入力された段階でサロゲートペアを弾けばあとは固定長で扱えるから楽だな



149 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 22:23:42.91 ID:XnzTvHrT]
>>143
なんか、わらったよ。

おまえらはsize_t 、wchar_tってなんて読んでいる?
サイズテー、だぶりゅーチャーてー?

150 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 22:26:34.63 ID:MOaw4cY+]
さいずてぃー
うちゃーてぃー

151 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 23:01:51.78 ID:aGEftFoO]
「ティー」じゃなくて「テー」って言う所に老いを感じる

152 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 23:19:07.91 ID:Vxx37Jb0]
いやテーはともかく後は普通の読みなんじゃ

153 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 03:00:14.18 ID:/shRHOr1]
>>151
聞き間違いを避ける為にあえてそう発音する人もいるらしい

154 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 03:44:09.58 ID:eHhQsmny]
B ビー
D デー
みたいなもんだな

charのポは半角の|と被るとかあるから
wchar_tに変換してからのがいい

155 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 06:49:28.06 ID:9YqDJ7QI]
>>154
char=MS932として話されても

156 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 06:57:04.45 ID:9YqDJ7QI]
ここって環境依存OKなんじゃなくて、一つの環境しか知らない人が多いだけだな。

157 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 07:20:18.40 ID:eHhQsmny]
「とか」って書いてんのに突っ込まれても

158 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 08:43:19.26 ID:YKEPe6r6]
>>107
なるほど。C++でエクスポートされる関数名が暗号化みたいにされるのは
「マングリング」と呼ぶのですね。ありがとうございます。

やはり素の名前で関数・変数やclassをエクスポートしたければ
.DEF使うべきですね。



159 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 11:31:57.69 ID:qvEZGcVl]
>>151
ドイツ語読みじゃ、霧

160 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 12:05:22.40 ID:lKd2tZDO]
ドイツ語読みでキャラテー?w

161 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 22:50:54.62 ID:qjKPAjiz]
今、数値を計算しファイルに出力するプログラムを作っています

162 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:01:10.90 ID:YfIekyq6]
>>160
学生か?

163 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:21:57.97 ID:qjKPAjiz]
>>161です
途中で切れていました

今、数値を計算しファイルに出力するプログラムを作っています
計算過程に -3/2乗が出てくるのですが、どう書くのが一番良いのでしょうか?

あと、計算結果が少数で出てきます
fixedで小数点以下6桁まで出せますが、さらに制度を上げることは可能ですか?
また、精度は少数を文字で出力するかバイナリで出力するかによって変わりますか?

164 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:32:40.91 ID:vHA1jMYS]
有理数計算ライブラリを使えば?

165 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 00:56:37.77 ID:IThaQfUx]
>>164
おすすめのライブラリはありますか?

166 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 02:32:28.41 ID:HrAPsGYd]
>>163
x^(-3/2)ならpow(x, -3/2)

167 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 02:35:49.60 ID:vtRcS5Vo]
惜しい
pow(x, -1.5)やpow(x, -3/2.0)が正解。
整数どうしの除算は整数に切り捨てられる

168 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 03:30:31.58 ID:HrAPsGYd]
>>167
xが型がdouble,floatなら問題無い



169 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 03:43:55.13 ID:LBc4eQ0i]
>>168
ideone.com/hexYNp
> 2.000000 ^ (-3/2 ) = 0.500000
> 2.000000 ^ (-3/2.0) = 0.353553

170 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 05:25:45.52 ID:zN3pWoAl]
>整数どうしの除算は整数に切り捨てられる

そういやC++は2011年改訂でそうなったな

171 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 07:43:57.75 ID:OcxdK7AV]
> そういやC++は2011年改訂でそうなったな
ええぇ〜〜〜〜 なんだってぇ〜〜〜〜

172 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 08:06:18.35 ID:xvvy75By]
整数リテラルどおしの除算の結果は整数に切り捨てられるのは
Cからの流れでC++の起こりの段階からそうじゃなかったのけ?

173 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 08:20:28.49 ID:63aliZJh]
この類いの奴は、負数の割り算で余りの符号が定義されたぐらいしか知らんわ

174 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 10:03:38.34 ID:IpMoPrzW]
整数リテラルの除算の結果は(規約がどうかは兎も角)事の起こりからずっと切り捨てられてきたね。
切り捨ての方向が確定したのはC++11かもしれないが。

>>163
doubleの精度のままファイルに出力するには、幾つか手がある。
・(エンディアンを考慮する必要があり、IEEEであることが前提になるが)バイナリで出力。
・有効精度を充分大きく採った指数形式で出力("%.20g"くらいで運が悪くない限り大丈夫)。
・(利用側で演算する制約はあるが)計算結果ではなく、計算過程を出力。

175 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 11:20:26.59 ID:GA9i869X]
昔MS-DOS時代に「ポータブルなdoubleの保存を
標準Cの範囲で実現するコード(基数は2限定)」というのを見たな。
ソースを見たけど「こんなことするくらいなら環境依存でいいや」
と思った記憶がある

176 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 11:49:09.33 ID:IThaQfUx]
>>166
>>167
ありがとうございます

>>174
ありがとうございます、二番目の方法が良さそうなので採用させてもらいます

177 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 21:47:42.55 ID:IThaQfUx]
%.20gを使ってもdoubleに20桁を格納出来ないので最高15桁のようですね。
15桁もあれば十分ですが

178 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 23:32:08.05 ID:A+39Zpbs]
ちら裏だけど
素粒子や半導体関係で、18桁要求されたことがあったなあ
C#のdecimalが欲しかった



179 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 23:51:43.06 ID:9WMqh+ch]
>>178
x86の浮動小数点演算は80bitで精度が約19桁だから余裕だろ

180 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 00:33:05.70 ID:pMraHo9U]
>>179
x87よりSSEの方が速い。でも64ビット。

181 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 01:49:42.79 ID:TnGKLUiy]
ベクターをベクターのまま何処か(HDDなど)に保存することは出来ますか?

182 名前:デフォルトの名無しさん [2014/08/12(火) 02:07:55.52 ID:IbGC0kFi]
シリアライズするといい

183 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 04:39:03.48 ID:r1RLL3ei]
>>178
decimalの存在意義を理解してないおまえには無理

>>179
>x86の浮動小数点演算は80bitで
ばーか、ばーか

184 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 05:08:54.18 ID:FpmNu2on]
>>180

185 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 05:12:55.50 ID:qXgriP/E]
>>181
できません

186 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 07:15:05.97 ID:pMraHo9U]
>>184 ????????????????

187 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 08:59:35.37 ID:NDNq9sGA]
>>181
boost::serialization使え

188 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 11:15:17.65 ID:rw+rZn9f]
.NET4.5ならBigIntegerクラスがあるじゃん



189 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 13:00:10.27 ID:utQRXpD1]
正数と実数の区別がついていない188には無理

190 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 20:03:37.07 ID:N66cEg2t]
>>182
>>187
ありがとう
シリアライズ一度調べてみます

191 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 00:13:50.77 ID:+ie/z7le]
このコードがどういう考えで動作しているのかさっぱり解読できない
誰かなぜこれで動作してるのか解説してほしい
問題:ttp://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0036
回答:ttp://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=122035

最初は判定用の回答をそのまま出力しているだけかと思ったけど
自分で入力を与えても正しく出力することは確認済み

192 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 00:25:30.02 ID:+ie/z7le]
ちなみにできるだけ読めるように展開していっている途中のコードは以下
ideone.com/NO0rOd

193 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 01:06:08.42 ID:La+C0YSw]
>>191
最初に '1' が出現してからの続く 0 と 1 のパターンは、全部ばらばらだろ?
ここで、最初の '1' が出現すると i と n のカウントが始まって、
次に 1 が出現するまでの変化値が異なり、その積 i *= n も変わる。
すると、うまい具合に剰余でパターン別に別れる最小の値が % 11 ってわけよ。

194 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 01:13:55.33 ID:La+C0YSw]
puts(...) に int 型の変数のアドレスを渡している部分は解説いらないよね

195 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 02:04:34.81 ID:yUu6IlV+]
>>193
i *= n の積はやってないんじゃない? ||演算子の評価結果は 0 か 1 じゃなかったっけ?(処理系依存?)
だから、 i *= 0 か i *= 1 のどちらかにしかならない。
i *= 0 になるのは、初めて ‘1’ が出現して c%2==1 のとき n++ == 0 となって、i *= 1 || 0 となるとき。
このとき i は 0 にリセットされる。
最初の‘1’と最後の‘1’の位置の差が図形ごとに固定かつバラバラなので、i でその差分をカウントして判別してる。

196 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 05:59:28.24 ID:gYHJhUS8]
初心者以前の者ですがC系の言語って
if (x>=0){〜} //A
else if (x==5){〜} //B
else{〜} //C
という処理をする場合、x=5だった時Aの処理だけでBの処理は行われないって事でいいでしょうか?
C系とまとめてますが、CとC++じゃ全然違ーよ!って感じでしたらすいません

197 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 06:09:41.88 ID:gAzc5rgf]
はい

198 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 06:14:16.74 ID:gYHJhUS8]
どうもありがとうございました



199 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 10:55:08.47 ID:Vw1Vsh7W]
ABC全部有効にしたいなら
if (x==5){〜} //B
else if (x>=0){〜} //A
else{〜} //C
という順で判定する

200 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 12:15:42.85 ID:+ie/z7le]
>>193,194
解説ありがとう!まだコードを理解しきってないですが
考え方がわかったので解読できそうです

実はputsのほうもさっきまでよくわかってなかったのですがint型と言われて気が付きました
(リトルエンディアン限定で?)1byte目に文字で2~4byte目が0になってるから
うまいこと2byte目が'\0'と読み取られるんですね
ありがとうございました

201 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 12:21:44.33 ID:+ie/z7le]
>>195
解説ありがとう!
まだコードとしては何が正しいか読めていませんが
参考になります!

202 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 18:08:43.16 ID:MVRQguVP]
C++11だっけ?
λとか可変長天ぷらが導入されたあたりからC++触ってないのだが
最近はなんか大きな動きあったの?

203 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 21:09:51.62 ID:oMecd0hy]
>>201
その内、FEED C0DE に出会える日もくるさ
0xBAADF00D かも知れないが

204 名前:デフォルトの名無しさん [2014/08/13(水) 21:32:31.42 ID:/Dr5wPv9]
配列コピーなんですけど、たとえば old_array[i]にある奇数や飛び番の配列データを
新たに作ったnew_array[i]に[0]から連番でいれていくのは可能でしょうか

205 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 21:43:51.95 ID:MVRQguVP]
>>204
可能ですよ

206 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 21:46:55.24 ID:u8W9agvo]
そういうコードを書けば良い

int i, j = 0;
for (i=0; i<[old_arrayの領域分]; i++) {
 if (old_array[i] == 条件) {
  new_array[j++] = old_array[i];
 }
}

207 名前:デフォルトの名無しさん [2014/08/13(水) 22:11:32.74 ID:/Dr5wPv9]
>>205-206
有難うです。ど素人なもんで
new_array[j++] = old_array[i]; この辺手掛かりにちょっといじってみます

208 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 22:12:32.13 ID:Vw1Vsh7W]
>>203
B16B00B5がいい



209 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 22:27:45.98 ID:yUu6IlV+]
>>195
誰も気にしてなさそうだけど、変なこと書いてたのでいまさら修正。
> i *= 0 になるのは、初めて ‘1’ が出現して c%2==1 のとき n++ == 0 となって、i *= 1 || 0 となるとき。
正しくは
 i *= 0 になるのは、初めて ‘1’ が出現して c%2==0 のとき n++ == 0 となって、i *= 0 || 0 となるとき。
ごめんニャン

210 名前:デフォルトの名無しさん mailto:sage [2014/08/13(水) 23:22:53.17 ID:ZCR6FKbx]
二次元のvectorにプッシュバックしたいのですがどう書けば良いでしょうか?

また、vectorのサイズを初期化しておいてからvectorに数値を入れていくのと、プッシュバックで数値を入れいくのではどちらの方が効率的ですか?






[ 続きを読む ] / [ 携帯版 ]

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

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