エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
探検
【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
918デフォルトの名無しさん
2017/10/19(木) 08:27:23.91ID:hylRky7G 引っ込みつかなくなった井の中の ID:oy9jxwBz 乙 w
919デフォルトの名無しさん
2017/10/19(木) 09:17:54.41ID:Guom/JOK さすがに>>880は乱暴過ぎると思うぞ
920デフォルトの名無しさん
2017/10/19(木) 11:09:01.22ID:Ka5Awqhg921デフォルトの名無しさん
2017/10/19(木) 12:45:12.45ID:hylRky7G922デフォルトの名無しさん
2017/10/19(木) 13:08:04.36ID:Ka5Awqhg923デフォルトの名無しさん
2017/10/19(木) 14:15:39.49ID:qgTZ/C3n 普通に自信あるなら論点のみ論破して後スルーでよくね?
924デフォルトの名無しさん
2017/10/19(木) 21:51:19.20ID:AKvCLhcx > ハードの制約や特殊な環境というのがCPUにしか無いと思ってる
引っ込みつかなくなって話をそらそうと必死だな w
引っ込みつかなくなって話をそらそうと必死だな w
925デフォルトの名無しさん
2017/10/19(木) 23:46:58.92ID:6TDKNKTM ハネウェルの9ビットは汎用コンピュータだけどな
926はちみつ餃子 ◆8X2XSCHEME
2017/10/21(土) 00:01:02.62ID:piER3a9b 多くの職をなるべく均等に育成する方針でいたんだけど、
まずはどれでもいいからレベル上げして高レベルの宝の地図をゲットしたら育成なんていくらでも出来るな。
完全に失敗だわ。
仕方がないのでウォルロ北東の高台ではぐれメタル相手にレベル上げしてる。
まずはどれでもいいからレベル上げして高レベルの宝の地図をゲットしたら育成なんていくらでも出来るな。
完全に失敗だわ。
仕方がないのでウォルロ北東の高台ではぐれメタル相手にレベル上げしてる。
928デフォルトの名無しさん
2017/10/21(土) 01:26:13.78ID:01QdRZD5 どのスレか特定してやる
929デフォルトの名無しさん
2017/10/21(土) 08:05:22.19ID:RIH/f2PJ ドラクエ9かな
930デフォルトの名無しさん
2017/10/21(土) 09:07:27.71ID:FoEY9rcC ウォルロ
確定ですね
確定ですね
931デフォルトの名無しさん
2017/10/27(金) 15:14:51.06ID:BaiBMwP3 typedef size_t size_type;
こういうコードを良く見るんですが、これは何のためにやってるんでしょうか?
こういうコードを良く見るんですが、これは何のためにやってるんでしょうか?
933デフォルトの名無しさん
2017/10/27(金) 15:47:51.76ID:C4KpdBNl conanのようなパッケージマネージャってどうなの?
使ってる人ー?
使ってる人ー?
934デフォルトの名無しさん
2017/10/27(金) 16:29:53.23ID:8v9HsLU9 驚きの柔軟剤ふわふわファーファ。
935デフォルトの名無しさん
2017/10/27(金) 20:57:21.79ID:qcblY/zy クラスの静的メンバー変数って何に使うんですあk?
936デフォルトの名無しさん
2017/10/27(金) 21:06:52.03ID:/LUCvRWS オブジェクトを横断して共有したい情報の保持
何個実体作ったっけ?ってカウントしたり
何個実体作ったっけ?ってカウントしたり
937デフォルトの名無しさん
2017/10/27(金) 21:23:23.67ID:BaiBMwP3 型を抽象化とはsize_tをsize_typeでオーバーライドすると言う意味で
型の切り替えとはsize_tとsize_typeを使い分けるということでしょうか?
型の切り替えの意味が合っているとしたら、中身が同じものを使い分ける事なんてあるんですか?
型の切り替えとはsize_tとsize_typeを使い分けるということでしょうか?
型の切り替えの意味が合っているとしたら、中身が同じものを使い分ける事なんてあるんですか?
938デフォルトの名無しさん
2017/10/27(金) 21:44:14.01ID:M7vRAAca 例えば何かの都合でsize_typeをssize_tにした方がよいとなった場合にtypedefを一行変更するだけで済む
他の部分はsize_typeという型で抽象化されているから簡単に切り替えられるということ
他の部分はsize_typeという型で抽象化されているから簡単に切り替えられるということ
939デフォルトの名無しさん
2017/10/27(金) 23:53:57.84ID:BaiBMwP3940デフォルトの名無しさん
2017/10/28(土) 00:20:18.16ID:n4Ie7UZ/ >>939
いや、べつに
いや、べつに
941デフォルトの名無しさん
2017/10/28(土) 05:57:50.48ID:KtZXeElz typedef unsigned int Uint;
typedef unsigned int MyResID;
typedef unsigned int MyID;
例えば、Uint だと意味が分からないから、
リソース番号なら、MyResID
自分のID なら、MyID
などと再定義して、用途を分けておくと、見た目にも分かりやすい
「c typedef」で検索!
typedef unsigned int MyResID;
typedef unsigned int MyID;
例えば、Uint だと意味が分からないから、
リソース番号なら、MyResID
自分のID なら、MyID
などと再定義して、用途を分けておくと、見た目にも分かりやすい
「c typedef」で検索!
942デフォルトの名無しさん
2017/10/28(土) 11:30:31.16ID:aIwzbvt/ 変数名でわかるじゃん
943デフォルトの名無しさん
2017/10/28(土) 11:45:42.58ID:UQLb/21G 見た目が分かりやすいからsize_tをsize_typeにすると>>941は思ったのだろうか
944デフォルトの名無しさん
2017/10/28(土) 12:16:56.59ID:5IbYoyZ3 >>941
それは見た目で用途が分かりやすいというだけでなく、ある用途の場合だけ型を変更し易いという利点が主じゃないかな?
例えばMyResIDは当初は整数で良かったけど後で文字列に変更したくなったとか。
それは見た目で用途が分かりやすいというだけでなく、ある用途の場合だけ型を変更し易いという利点が主じゃないかな?
例えばMyResIDは当初は整数で良かったけど後で文字列に変更したくなったとか。
945デフォルトの名無しさん
2017/10/28(土) 12:33:49.13ID:MyIroYJQ MyResIDは8桁の数字を取り扱うんだけど、
intが16bitの環境に移植することになった…なんて時に便利
intが16bitの環境に移植することになった…なんて時に便利
946デフォルトの名無しさん
2017/10/31(火) 12:46:46.26ID:KJARTkQB >>931
よく見るってどこでよく見るの?
よく見るってどこでよく見るの?
947デフォルトの名無しさん
2017/10/31(火) 13:08:37.17ID:0cbtiG+h テンプレートなんかでよく見るvalue_typeみたいなもんかね
948デフォルトの名無しさん
2017/10/31(火) 18:04:33.78ID:vd1YUsZz >>900
>組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
言語系自体(C#/Java) は C/C++ で書かれているんじゃない?C/C++ 以外で記述されたエディター、というのも思い当たらないね
>組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
言語系自体(C#/Java) は C/C++ で書かれているんじゃない?C/C++ 以外で記述されたエディター、というのも思い当たらないね
949デフォルトの名無しさん
2017/10/31(火) 18:23:56.52ID:TOtCAKzB >>948
Atom, Visual Studio Code
Atom, Visual Studio Code
950デフォルトの名無しさん
2017/10/31(火) 18:52:57.69ID:QkT+8axj >>948
Vz
Vz
951デフォルトの名無しさん
2017/10/31(火) 19:10:34.72ID:xyLQL02T952デフォルトの名無しさん
2017/10/31(火) 20:51:58.22ID:3JCeBBQH >>949
Electronに使われてるV8がC++だがな
Electronに使われてるV8がC++だがな
953デフォルトの名無しさん
2017/11/01(水) 07:12:46.61ID:UcxIkq8e クラス定義でサンプル見るとprivate:が書いてあるのばかりだけど
クラスはデフォルトでpraivateだから書く必要ないよね
可読性のために書いてるの?
クラスはデフォルトでpraivateだから書く必要ないよね
可読性のために書いてるの?
954デフォルトの名無しさん
2017/11/01(水) 07:32:02.47ID:qOYb+y+r >>952
それは英語で書いてるよねって見方と一緒
それは英語で書いてるよねって見方と一緒
955デフォルトの名無しさん
2017/11/01(水) 08:05:04.65ID:1pZzHGIc956デフォルトの名無しさん
2017/11/01(水) 09:32:55.92ID:hOs9b/I4 >>953
class aaa
{
public:
//メンバ関数−上の方が目立つ?
private:
//メンバ変数−下の方にこそっと?
}
みたいな書き方が一部で流行してるからってだけでは?
実際、流行してるのか否かも知らんが
class aaa
{
public:
//メンバ関数−上の方が目立つ?
private:
//メンバ変数−下の方にこそっと?
}
みたいな書き方が一部で流行してるからってだけでは?
実際、流行してるのか否かも知らんが
957デフォルトの名無しさん
2017/11/01(水) 19:35:21.85ID:nkaKR7E8 >>953
綴りも覚えられないようなボンクラは書かないで済むなら書きたくないって思うんだろうな w
綴りも覚えられないようなボンクラは書かないで済むなら書きたくないって思うんだろうな w
958デフォルトの名無しさん
2017/11/01(水) 20:04:14.14ID:qg2RuF/n こういうクラスメソッドがあれば便利だな〜
一番上にpublicで追加したろ
ってなった時に巻き添えでpublicにしないように
一番上にpublicで追加したろ
ってなった時に巻き添えでpublicにしないように
959デフォルトの名無しさん
2017/11/01(水) 20:23:43.72ID:GUg4tmKS unordered_mapの時間オーダーはランダムアクセスがo(N)で検索がo(1)ですよね?
以下を見ると逆になってるのだすが間違いですよね?
https://qiita.com/h_hiro_/items/a83a8fd2391d4a3f0e1c#all_table
以下を見ると逆になってるのだすが間違いですよね?
https://qiita.com/h_hiro_/items/a83a8fd2391d4a3f0e1c#all_table
960デフォルトの名無しさん
2017/11/01(水) 20:59:34.54ID:M3kcqSwB961デフォルトの名無しさん
2017/11/01(水) 21:01:07.22ID:4wUVM0HB 画像処理についての質問です
下記コードのループ1のframeTestとループ2のframeTest2で出来上がる画像が違うのは何故なんでしょうか?
(frameTestは緑一色、frameTest2は緑赤青の3色)
使っているのはvisual studio2017です
コード http://codepad.org/IHZhOf8h
下記コードのループ1のframeTestとループ2のframeTest2で出来上がる画像が違うのは何故なんでしょうか?
(frameTestは緑一色、frameTest2は緑赤青の3色)
使っているのはvisual studio2017です
コード http://codepad.org/IHZhOf8h
962デフォルトの名無しさん
2017/11/01(水) 21:20:00.76ID:xoMVkOKP TestIm[] が想定してる並びになってない
1回目のループ中に 実は書き壊してるw
なので 2回目のループの時は 参照だけしてるはずなのに同じにならない
インデックスの式 Testwidth*y + x*3 + 0〜2(色)
1行あたりのバイト数が Testwidth で見積もってる式になってるからね
1回目のループ中に 実は書き壊してるw
なので 2回目のループの時は 参照だけしてるはずなのに同じにならない
インデックスの式 Testwidth*y + x*3 + 0〜2(色)
1行あたりのバイト数が Testwidth で見積もってる式になってるからね
963デフォルトの名無しさん
2017/11/01(水) 21:36:50.34ID:xoMVkOKP Testwidth * 3 * y + x * 3 + 0〜2
これで望みの形になると思うよ
W * H 次元の空間を 1次元で並べるなら W * y + x
W * H * C 次元の並びは (W * y + x) * C + color → W * C * y + C * x + color
こんな感じ
これで望みの形になると思うよ
W * H 次元の空間を 1次元で並べるなら W * y + x
W * H * C 次元の並びは (W * y + x) * C + color → W * C * y + C * x + color
こんな感じ
964デフォルトの名無しさん
2017/11/01(水) 21:41:14.25ID:4wUVM0HB965デフォルトの名無しさん
2017/11/01(水) 21:56:38.47ID:GUg4tmKS >>960
すみません、ランダムアクセスと検索を逆に指してました。
前者がoperator []、後者がfindですよね。
unordered_setは検索がo(1)なのでunordered_mapも同じかと思ってました。
ハッシュテーブル系はo(1)になると思っていたのですが、そうでもないのでしょうか?
すみません、ランダムアクセスと検索を逆に指してました。
前者がoperator []、後者がfindですよね。
unordered_setは検索がo(1)なのでunordered_mapも同じかと思ってました。
ハッシュテーブル系はo(1)になると思っていたのですが、そうでもないのでしょうか?
966デフォルトの名無しさん
2017/11/01(水) 22:44:25.89ID:M3kcqSwB >>965
> 前者がoperator []、後者がfindですよね。
これが違う
あのページでいうunordered_mapに対する『検索』は
(key, value)ペアのvalueが指定した値と等しい要素を探す処理(要するに逆引き)のこと
となるとkeyとは無関係な処理なため全要素を順次走査することになるからO(n)になる
> 前者がoperator []、後者がfindですよね。
これが違う
あのページでいうunordered_mapに対する『検索』は
(key, value)ペアのvalueが指定した値と等しい要素を探す処理(要するに逆引き)のこと
となるとkeyとは無関係な処理なため全要素を順次走査することになるからO(n)になる
967デフォルトの名無しさん
2017/11/01(水) 23:27:07.64ID:kBuKLW51 >>965
O(1)になる検索のアルゴリズムなんてねえよ
O(1)になる検索のアルゴリズムなんてねえよ
968デフォルトの名無しさん
2017/11/01(水) 23:32:44.98ID:Oby+I+5u Hash は、O(1)
HTree とか、衝突(シノニム)時に2分探索になるが、それもまれ
HTree とか、衝突(シノニム)時に2分探索になるが、それもまれ
969デフォルトの名無しさん
2017/11/02(木) 07:12:51.03ID:BfnVxeM2 >>967
Hashも知らんのかよ...
Hashも知らんのかよ...
970デフォルトの名無しさん
2017/11/02(木) 07:23:18.79ID:b+wcFKOg 検索っていうか、辞書引きだな
971デフォルトの名無しさん
2017/11/02(木) 08:18:33.66ID:KKkRrWi/ 本筋と関係ないけど、O(n)とo(n)は意味が全然違うので注意
972デフォルトの名無しさん
2017/11/02(木) 09:09:16.73ID:rFzi+Leg wacomのサンプルコードについて質問です
http://wdnet.jp/library/windows
ここのMFCデモのdemobiew.cpp内にある
http://codepad.org/hUs8JI4t
このlc.lcInExtXはなんの値を指しているのでしょうか
自分の環境ではこの値を適当な定数にしなければペンとカーソルの位置が一致しません
http://wdnet.jp/library/windows
ここのMFCデモのdemobiew.cpp内にある
http://codepad.org/hUs8JI4t
このlc.lcInExtXはなんの値を指しているのでしょうか
自分の環境ではこの値を適当な定数にしなければペンとカーソルの位置が一致しません
973デフォルトの名無しさん
2017/11/02(木) 11:24:52.00ID:+ai7GGRX974デフォルトの名無しさん
2017/11/02(木) 13:25:09.29ID:fgcqUQ// >>972
公式にドキュメントがあるなら一通りは目をとおしな
http://wdnet.jp/library/windows/wintab#2.3
> 2.3 Wintabの初期化
...
> 2.スケーリングの初期化について
> 以下のように、LOGCONTEXT の値を初期化する事でスケールの設定を行います。
...
> A lcInExtX,lcInExtY にタブレットの入力最大座標
公式にドキュメントがあるなら一通りは目をとおしな
http://wdnet.jp/library/windows/wintab#2.3
> 2.3 Wintabの初期化
...
> 2.スケーリングの初期化について
> 以下のように、LOGCONTEXT の値を初期化する事でスケールの設定を行います。
...
> A lcInExtX,lcInExtY にタブレットの入力最大座標
975sage
2017/11/02(木) 19:37:23.87ID:Vcb2n/8t 以下,かっこよくなりませんか?
while文の条件がダサすぎるので何とかしたい.
std::array は使わず,2次元の生配列でお願い.
以下,ソース.
#include <iostream>
#include <cstdlib>
#include <fstream>
int main(){
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
while( fin >> data[i][0] >> data[i][1] >> data[i][2] >> data[i][3] ){
for( int j=0; j<4; ++j )
std::cout << data[i][j] << " ";
std::cout << std::endl;
++i;
}
return EXIT_SUCCESS;
}
while文の条件がダサすぎるので何とかしたい.
std::array は使わず,2次元の生配列でお願い.
以下,ソース.
#include <iostream>
#include <cstdlib>
#include <fstream>
int main(){
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
while( fin >> data[i][0] >> data[i][1] >> data[i][2] >> data[i][3] ){
for( int j=0; j<4; ++j )
std::cout << data[i][j] << " ";
std::cout << std::endl;
++i;
}
return EXIT_SUCCESS;
}
976デフォルトの名無しさん
2017/11/02(木) 20:37:36.68ID:j119FHt+ はい。なります。
977デフォルトの名無しさん
2017/11/02(木) 20:43:01.12ID:RVlmQZC9 十分格好いいです
978デフォルトの名無しさん
2017/11/02(木) 20:49:14.23ID:QvGPm7pP 読むのと書くのを関数に分けるべきかな
979はちみつ餃子 ◆8X2XSCHEME
2017/11/02(木) 23:14:01.04ID:4tfXXWiS >>975
個人的にはこんな感じにするかな……。
#include <iostream>
#include <fstream>
std::istream& operator>>(std::istream& in, double (&data)[4]) {
for(auto& e: data) in >> e;
return in;
}
std::ostream& operator<<(std::ostream& out, double (&data)[4]) {
for(auto e: data) out << e << " ";
return out;
}
int main(void) {
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
for(auto& data_line: data) {
if((fin>>data_line).fail()) break;
std::cout << data_line << std::endl;
}
return EXIT_SUCCESS;
}
配列のままがお望みらしいのでこう書いたけど、専用の型を用意した方が綺麗っちゃ綺麗
個人的にはこんな感じにするかな……。
#include <iostream>
#include <fstream>
std::istream& operator>>(std::istream& in, double (&data)[4]) {
for(auto& e: data) in >> e;
return in;
}
std::ostream& operator<<(std::ostream& out, double (&data)[4]) {
for(auto e: data) out << e << " ";
return out;
}
int main(void) {
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
for(auto& data_line: data) {
if((fin>>data_line).fail()) break;
std::cout << data_line << std::endl;
}
return EXIT_SUCCESS;
}
配列のままがお望みらしいのでこう書いたけど、専用の型を用意した方が綺麗っちゃ綺麗
980デフォルトの名無しさん
2017/11/03(金) 00:03:21.41ID:4eJ/7N9T >>975
while( [&]{ for(auto& e: data[i]) fin >> e; }(), fin.good() ){
for( auto& e: data[i] )
std::cout << e << " ";
while( [&]{ for(auto& e: data[i]) fin >> e; }(), fin.good() ){
for( auto& e: data[i] )
std::cout << e << " ";
981デフォルトの名無しさん
2017/11/03(金) 00:49:56.36ID:LOXVFC/o 975です,sage方法すら忘れててすまぬ.
>>976
そのソースを示してくれると嬉しい
>>977
いや,これだと生理的にダメなんすよ
>>978, 979
大層なことするわけじゃないからなるべく短く行きたいんや
>>980
つか,whileの条件式に登場する , は何ぞや,なレベル.
以下のソースだと,ラムダ式部分に警告 expression result unused が出る.
バイナリは吐くが,実行すると大量のコンソール出力があり,
しかも全く読めていないっぽいうえ,Segmentation faultしやがる.
以下,試したソース
#include <iostream>
#include <cstdlib>
#include <fstream>
int main(){
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
for( auto& e : data[i] ) std::cout << e << " ";
std::cout << std::endl;
++i;
}
return EXIT_SUCCESS;
}
>>976
そのソースを示してくれると嬉しい
>>977
いや,これだと生理的にダメなんすよ
>>978, 979
大層なことするわけじゃないからなるべく短く行きたいんや
>>980
つか,whileの条件式に登場する , は何ぞや,なレベル.
以下のソースだと,ラムダ式部分に警告 expression result unused が出る.
バイナリは吐くが,実行すると大量のコンソール出力があり,
しかも全く読めていないっぽいうえ,Segmentation faultしやがる.
以下,試したソース
#include <iostream>
#include <cstdlib>
#include <fstream>
int main(){
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
for( auto& e : data[i] ) std::cout << e << " ";
std::cout << std::endl;
++i;
}
return EXIT_SUCCESS;
}
982デフォルトの名無しさん
2017/11/03(金) 01:05:35.02ID:4eJ/7N9T983デフォルトの名無しさん
2017/11/03(金) 01:56:10.83ID:LOXVFC/o >>982
カンマ演算子か.なるほど.
whileの条件式に与えたラムダ式を評価してその成否は破棄しつつ
カンマ演算子の右にあるfinがまだ使えるかどうか,
で処理継続の可否を判断している,という理解でいいのかな.
でも,981のソースだと,while文が終わらずに,無限ループに突入しているもよう.
この現象を説明しつつ,問題を解決するソースをくれると喜びます.
カンマ演算子か.なるほど.
whileの条件式に与えたラムダ式を評価してその成否は破棄しつつ
カンマ演算子の右にあるfinがまだ使えるかどうか,
で処理継続の可否を判断している,という理解でいいのかな.
でも,981のソースだと,while文が終わらずに,無限ループに突入しているもよう.
この現象を説明しつつ,問題を解決するソースをくれると喜びます.
984デフォルトの名無しさん
2017/11/03(金) 04:19:30.63ID:4eJ/7N9T985デフォルトの名無しさん
2017/11/03(金) 06:53:03.34ID:LOXVFC/o 975です,
>>981 のソースでいう
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
を
while( [&]{ for( auto& e : data[i] ) fin >> e; }(), fin.good() ) {
にしたら正常に動作しました.
まずはありがとうでした.
>>981 のソースでいう
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
を
while( [&]{ for( auto& e : data[i] ) fin >> e; }(), fin.good() ) {
にしたら正常に動作しました.
まずはありがとうでした.
986デフォルトの名無しさん
2017/11/03(金) 16:37:14.49ID:t+2N1bPb c++初心者向けの名著コードない?
987デフォルトの名無しさん
2017/11/03(金) 20:48:45.38ID:fZH3r81G お前の頭は既にしてバーコードだろ?
988デフォルトの名無しさん
2017/11/03(金) 20:59:39.93ID:t+2N1bPb 坊主頭なんだが、ストレスで10円ハゲがたくさんできてQRコードだ。安心しろ。
989デフォルトの名無しさん
2017/11/04(土) 09:57:38.12ID:io7R91TU char a[8]="12 34 56";
と言うのがあったとして
これを数値の123456にしたい時、一番速い書き方ってどんなだろうか
と言うのがあったとして
これを数値の123456にしたい時、一番速い書き方ってどんなだろうか
990デフォルトの名無しさん
2017/11/04(土) 10:21:35.26ID:KEPGzX0z991デフォルトの名無しさん
2017/11/04(土) 10:58:19.72ID:OnkwfBEU 普通に文字列の先頭から、数字が表れたら'0'との差を加算して桁上げして、ってのを繰り返すのが速いと思うが。
992デフォルトの名無しさん
2017/11/04(土) 11:09:08.10ID:XesRBOxx >>989 スレッド終盤に面白い問題を出してくれるなぁ。
a[8] と要素数を明示して "12 34 56" を代入する部分に罠の臭いを感じる。
'\0' 終端の一般的なCの文字列ではない、8byte専用のトリックが存在するのかも。
a[8] と要素数を明示して "12 34 56" を代入する部分に罠の臭いを感じる。
'\0' 終端の一般的なCの文字列ではない、8byte専用のトリックが存在するのかも。
993はちみつ餃子 ◆8X2XSCHEME
2017/11/04(土) 11:29:59.70ID:oNhsu9lL 条件次第ではあるけど、
平均的には標準で用意されている関数を使うのがまともな速さになると思う。
↓こんなの
*std::remove(std::begin(a), std::end(a), ' ') = '\0';
平均的には標準で用意されている関数を使うのがまともな速さになると思う。
↓こんなの
*std::remove(std::begin(a), std::end(a), ' ') = '\0';
994デフォルトの名無しさん
2017/11/04(土) 11:47:30.29ID:zGy4Oklk 速さってコーディンクの速さ?
実行速度?
実行速度?
995デフォルトの名無しさん
2017/11/04(土) 11:51:36.02ID:zGy4Oklk a[0]*100000+a[1]*10000+a[3]*1000+a[4]*100+a[6]*10+a[7]-'0'*(111111)
996デフォルトの名無しさん
2017/11/04(土) 11:59:30.61ID:zGy4Oklk int v = 0;
for (int i = 0 ; a[i] != '??0' ; i++){
if (a[i] == ' ')
continue;
v = v*10+(a[i]-'0');
}
for (int i = 0 ; a[i] != '??0' ; i++){
if (a[i] == ' ')
continue;
v = v*10+(a[i]-'0');
}
997デフォルトの名無しさん
2017/11/04(土) 12:28:06.26ID:io7R91TU みんなありがとう
>>991を参考にこんな感じでやってみたけど、どうなんだろうか。
#include <stdio.h>
#include<time.h>
int main(){
char a[8]="12 34 56";
int b;
clock_t c c;
c=clock();
for(int d=1000000000;d;d--){
b=10*(10*(10*(10*(10*(a[0])+a[1])+a[3])+a[4])+a[6])+a[7]-5333328;
}
printf("%d\n%.3f\n",b,(double)(clock()-c)/CLOCKS_PER_SEC);
}
スマホで書いたからミスってるかもw
>>991を参考にこんな感じでやってみたけど、どうなんだろうか。
#include <stdio.h>
#include<time.h>
int main(){
char a[8]="12 34 56";
int b;
clock_t c c;
c=clock();
for(int d=1000000000;d;d--){
b=10*(10*(10*(10*(10*(a[0])+a[1])+a[3])+a[4])+a[6])+a[7]-5333328;
}
printf("%d\n%.3f\n",b,(double)(clock()-c)/CLOCKS_PER_SEC);
}
スマホで書いたからミスってるかもw
998デフォルトの名無しさん
2017/11/04(土) 16:35:05.69ID:NYxCuvMY999デフォルトの名無しさん
2017/11/04(土) 20:16:28.54ID:wPtyVAZ4 文字化けしてる奴がMZくさい
1000はちみつ餃子 ◆8X2XSCHEME
2017/11/04(土) 20:57:59.73ID:oNhsu9lL 結果を整数で得たいならこういうのでもいいかな。
std::accumulate(std::begin(a), std::end(a), 0, [](int acc, int e) { return std::isdigit(e) ? acc*10+e-'0' : acc;})
std::accumulate(std::begin(a), std::end(a), 0, [](int acc, int e) { return std::isdigit(e) ? acc*10+e-'0' : acc;})
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 109日 13時間 50分 32秒
新しいスレッドを立ててください。
life time: 109日 13時間 50分 32秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- 【速報】10月の消費者物価3.0%上昇 [蚤の市★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- 【コメ】価格「5キロ4316円」で最高値を更新…「おこめ券」が解決につながらない根本的な理由 コメ農家が危機感をあらわにする「離農」 [ぐれ★]
- 高市早苗、会食せず議員宿舎に籠って勉強の毎日「飲んでる暇があれば、政策を練り、資料を読みたい」 [485187932]
- 愛国保守、日本を本気で潰しにかかる [819729701]
- 【悲報】Suica、セキュリティを突破されたのが販売されはじめる [347751896]
- 東大名誉教授「中国は誤った宣伝を繰り広げ、対立を煽り、経済の失敗による国内の不満を日本に向けている」 [903292576]
- 【高市速報】日本の政治家も国民も「実利を取る」って選択ができないバカしかいないのか? [369521721]
- 🏡
