0952デフォルトの名無しさん2017/10/31(火) 20:51:58.22ID:3JCeBBQH
>>949
Electronに使われてるV8がC++だがな クラス定義でサンプル見るとprivate:が書いてあるのばかりだけど
クラスはデフォルトでpraivateだから書く必要ないよね
可読性のために書いてるの?
こういうクラスメソッドがあれば便利だな〜
一番上にpublicで追加したろ
ってなった時に巻き添えでpublicにしないように
TestIm[] が想定してる並びになってない
1回目のループ中に 実は書き壊してるw
なので 2回目のループの時は 参照だけしてるはずなのに同じにならない
インデックスの式 Testwidth*y + x*3 + 0〜2(色)
1行あたりのバイト数が Testwidth で見積もってる式になってるからね
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
こんな感じ
0967デフォルトの名無しさん2017/11/01(水) 23:27:07.64ID:kBuKLW51
>>965
O(1)になる検索のアルゴリズムなんてねえよ Hash は、O(1)
HTree とか、衝突(シノニム)時に2分探索になるが、それもまれ
本筋と関係ないけど、O(n)とo(n)は意味が全然違うので注意
0975sage2017/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;
}
坊主頭なんだが、ストレスで10円ハゲがたくさんできてQRコードだ。安心しろ。
char a[8]="12 34 56";
と言うのがあったとして
これを数値の123456にしたい時、一番速い書き方ってどんなだろうか
普通に文字列の先頭から、数字が表れたら'0'との差を加算して桁上げして、ってのを繰り返すのが速いと思うが。
条件次第ではあるけど、
平均的には標準で用意されている関数を使うのがまともな速さになると思う。
↓こんなの
*std::remove(std::begin(a), std::end(a), ' ') = '\0';
a[0]*100000+a[1]*10000+a[3]*1000+a[4]*100+a[6]*10+a[7]-'0'*(111111)
int v = 0;
for (int i = 0 ; a[i] != '??0' ; i++){
if (a[i] == ' ')
continue;
v = v*10+(a[i]-'0');
}
結果を整数で得たいならこういうのでもいいかな。
std::accumulate(std::begin(a), std::end(a), 0, [](int acc, int e) { return std::isdigit(e) ? acc*10+e-'0' : acc;})
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 109日 13時間 50分 32秒