PROFIからSUPER PROFIへの質問-1. - ページ 24

 
    if (h>0) s=1; if (h<0) s=-1;
   Comment(" цена впадины ZZ = ",LouZZ);
   R1 = LouZZ+s*(5*pips);   R2 = LouZZ+s*(18*pips);   R3 = LouZZ+s*(39*pips);
   R4 = LouZZ+s*(68*pips);  R5 = LouZZ+s*(105*pips);  R6 = LouZZ+s*(150*pips);   
   R7 = LouZZ+s*(203*pips); R8 = LouZZ+s*(264*pips);  R9 = LouZZ+s*(333*pips);    
   
   S1 = LouZZ+s*(1*pips);   S2 = LouZZ+s*(10*pips);   S3 = LouZZ+s*(27*pips);
   S4 = LouZZ+s*(52*pips);  S5 = LouZZ+s*(85*pips);   S6 = LouZZ+s*(126*pips);   
   S7 = LouZZ+s*(175*pips); S8 = LouZZ+s*(232*pips);  S9 = LouZZ+s*(297*pips);    
 
sergeev:

ありがとうございます私は馬鹿です)))+-でマイナスを出す))))))))))

live and learn, live and die a fool))) works, thanks Alexei for remind me of school curriculum....

   if(h<l){s=1; Comment(" цена впадины ZZ = ",LouZZ);}else{s=-1;Comment(" цена вершины ZZ = ",LouZZ);}

   R1 = LouZZ+s*(5*pips);   R2 = LouZZ+s*(18*pips);   R3 = LouZZ+s*(39*pips);
   R4 = LouZZ+s*(68*pips);  R5 = LouZZ+s*(105*pips);  R6 = LouZZ+s*(150*pips);   
   R7 = LouZZ+s*(203*pips); R8 = LouZZ+s*(264*pips);  R9 = LouZZ+s*(333*pips);    
   
   S1 = LouZZ+s*(1*pips);   S2 = LouZZ+s*(10*pips);   S3 = LouZZ+s*(27*pips);
   S4 = LouZZ+s*(52*pips);  S5 = LouZZ+s*(85*pips);   S6 = LouZZ+s*(126*pips);   
   S7 = LouZZ+s*(175*pips); S8 = LouZZ+s*(232*pips);  S9 = LouZZ+s*(297*pips);  
 

は,フィールドが集合 {-1,0,1,2,3,4} (全部で5つの状態) のいずれかの値を取り得る行列をどのようにエンコードするか,ということに ついてアドバイスしてくれる.

| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |
| -1,0,1,2,3,4, -1,0,1,2,3,4 |

複数の整数に保存: int arr[6] = {xxxxx,xxxx,xxxx,xxxx,xxxx,xxxx} 計算量が少ない。

CPS

 
マトリックスの例を見せてください。
 
sergeev:
マトリックスの例を示してください。


| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,4,2,1,1, 1,1,1,1,1,1 |
| 4,3,3,3,3,3, -1,-1,-1,-1,-1,-1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|

次をご覧ください。

| 4,4,1,2,2,2, 1,1,1,1,1,1 |
| 4,4,1,2,2,2, 1,1,1,1,1,-1 |
| 3,4,4,2,2,2, 1,1,1,1,1,-1 |
| 4,3,3,3,3,3, 1,1,1,-1,-1,-1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|

データをコンパクトに格納したい - 1行、1つの整数

 
IgorM:

フィールドが集合 {-1,0,1,2,3,4} の値のいずれかを取り得る行列 (全部で5つの状態) の符号化方法をアドバイスしてください。


これを正の領域に2単位分シフトして0と-1を取り除く(読み取った後に復元する)と、簡単に整数を形成することができる。
 
granit77:
正の範囲に2単位シフトして0と-1を取り除くと(読み出したら元に戻す)、簡単に整数ができる。


さて、集合を{0,1,2,3,4,5}とします。どうでもいいことですが、この桁のグループから整数を得ることが重要で、この段階で12x6の行列があれば、何か形式を得ることができます。

| 4,4,1,2,1,1, 1,1,1,1,1,1 | = 2147483647 - 441211111111/2

はint型に収まるようですが、100x6のマトリクスが必要な場合はどうすればいいのかわかりません;)

SZY:ヘルプより:intの内部表現は、サイズ4バイトの長整数です。整数定数は-2147483648から2147483647までの値を取ることができる。定数が指定された範囲を超えている場合、結果は不定となる。

 
まあ、遅くなるとはいえ、まだ文字列変数に余裕があるわけですから。しかし、0と-1は削除しなければならない。
 
granit77:
まあ、遅くなるとはいえ、まだ文字列変数に余裕があるわけですから。しかし、0と-1は削除しなければならない。
そうなんです!今のところ文字列変数しかありません。アルゴリズム自体はまだ「紙」なので、ファイルにアップロードするためのデータを用意しているのですが、その後、データを解析する必要があるので、そこでスピードが求められます。文字列ではなく、intにアンロードするにはどうしたらいいか考えているところです
 

通常、DBMSはグループデータを文字列として格納する。大容量での処理速度が面倒くさい。クラリオンのことはフォローしていないので調べてほしいのですが、あそこはC互換が一流でした。