최적화 중 일회성 어레이 계산 - 페이지 8 12345678 새 코멘트 forexman77 2016.11.06 13:49 #71 forexman77 : 기본적으로 수업에는 모든 것이 있습니다. 저에게는 어두운 숲입니다. 그런데 몇 가지 생각이 들었다. 날짜와 숫자를 따로따로 배열로 만드세요. 만, 정렬 후 날짜가있는 색인 번호, 즉 두 번째 차원에있는 i를 얻는 방법은 무엇입니까? datetime m[ 215 ][ 1 ]; double d[ 215 ][ 2 ];m[ 0 ][i]=Dat_DtTm;d[i][ 0 ]=f1;d[i][ 1 ]=f2; 다음과 같이 했습니다. datetime m1[ 215 ]; datetime m2[ 215 ]; double d[ 215 ][ 4 ];m1[i]=Dat_DtTm;m2[i]=Dat_DtTm;d[i][ 0 ]=f1;d[i][ 1 ]= 0.0 ;d[i][ 2 ]=f2;d[i][ 3 ]= 0.0 ; ArraySort (m1, WHOLE_ARRAY , 0 , MODE_DESCEND ); for ( int y= 214 ;y>= 0 ;y--) { for ( int a= 214 ;a>= 0 ;a--) { if (m1[y]==m2[a]) { d[y][ 1 ]=d[a][ 0 ]; d[y][ 3 ]=d[a][ 2 ]; Print ( "m1[y]=" ,m1[y], "d[y][1]=" ,d[y][ 1 ], "d[y][3]=" ,d[y][ 3 ], "y=" ,y); break ; } } } Mislaid 2016.11.07 21:52 #72 forexman77 : 기본적으로 수업에는 모든 것이 있습니다. 저에게는 어두운 숲입니다. 그런데 몇 가지 생각이 들었다. 날짜와 숫자를 따로따로 배열로 만드세요. 만, 정렬 후 날짜가있는 색인 번호, 즉 두 번째 차원에있는 i를 얻는 방법은 무엇입니까? datetime m[ 215 ][ 1 ]; double d[ 215 ][ 2 ];m[ 0 ][i]=Dat_DtTm;d[i][ 0 ]=f1;d[i][ 1 ]=f2; 모든 것이 훨씬 쉽습니다. datetime m_date[4000]과 같은 날짜 배열과 int , string, double .. 및 모든 차원과 같은 모든 유형 의 다른 배열이 있다고 가정합니다. 이들 모두는 이 배열의 i번째 행에 있는 데이터가 날짜 m_date[ i ]에 해당한다는 사실로 연결됩니다. 이러한 모든 배열을 날짜별로 정렬해야 합니다. m_dim을 이 배열의 행 수(날짜 수)로 설정합니다. 우리는 비용이 많이 드는 작업으로 ArrayResize를 사용 하지 않고 이 예에서는 m_dim <= 4000만 사용합니다. // Создаем индексный массив Все остальные массивы в первом измерении имеют ту же размерность int m_index[ 4000 , 2 ]; // Заполняем массив индексов: for ( int i = 0 ; i < m_dim; i ++ ){ m_index[ i, 0 ] = m_date[ i ]; m_index[ i, 1 ] = i;} // Сортируем индексный массив ArraySort ( m_index, m_dim, 0, MODE_DECEND); // Все 이제 첫 번째 차원에서 날짜를 가져오고 두 번째 차원에서 이 날짜에 해당하는 배열 인덱스 를 가져옵니다. Single array calculation during 2차원 배열을 2차원으로 정렬하기 초보자의 질문 MQL4 MT4 forexman77 2016.11.07 23:21 #73 Mislaid : 모든 것이 훨씬 쉽습니다. datetime m_date[4000]과 같은 날짜 배열과 int , string, double .. 및 모든 차원과 같은 모든 유형 의 다른 배열이 있다고 가정합니다. 이들 모두는 이 배열의 i번째 행에 있는 데이터가 날짜 m_date[ i ]에 해당한다는 사실로 연결됩니다. 이러한 모든 배열을 날짜별로 정렬해야 합니다. m_dim을 이 배열의 행 수(날짜 수)로 설정합니다. 우리는 비용이 많이 드는 작업으로 ArrayResize를 사용 하지 않고 이 예에서는 m_dim <= 4000만 사용합니다. // Создаем индексный массив Все остальные массивы в первом измерении имеют ту же размерность int m_index[ 4000 , 2 ]; // Заполняем массив индексов: for ( int i = 0 ; i < m_dim; i ++ ){ m_index[ i, 0 ] = m_date[ i ]; m_index[ i, 1 ] = i;} // Сортируем индексный массив ArraySort ( m_index, m_dim, 0, MODE_DECEND); // Все 이제 첫 번째 차원에서 날짜를 가져오고 두 번째 차원에서 이 날짜에 해당하는 배열 인덱스 를 가져옵니다. 고맙습니다! 나는 사용할 것이다. 12345678 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
기본적으로 수업에는 모든 것이 있습니다. 저에게는 어두운 숲입니다. 그런데 몇 가지 생각이 들었다. 날짜와 숫자를 따로따로 배열로 만드세요. 만, 정렬 후 날짜가있는 색인 번호, 즉 두 번째 차원에있는 i를 얻는 방법은 무엇입니까?
double d[ 215 ][ 2 ];
m[ 0 ][i]=Dat_DtTm;
d[i][ 0 ]=f1;
d[i][ 1 ]=f2;
다음과 같이 했습니다.
datetime m2[ 215 ];
double d[ 215 ][ 4 ];
m1[i]=Dat_DtTm;
m2[i]=Dat_DtTm;
d[i][ 0 ]=f1;
d[i][ 1 ]= 0.0 ;
d[i][ 2 ]=f2;
d[i][ 3 ]= 0.0 ;
ArraySort (m1, WHOLE_ARRAY , 0 , MODE_DESCEND );
for ( int y= 214 ;y>= 0 ;y--)
{
for ( int a= 214 ;a>= 0 ;a--)
{
if (m1[y]==m2[a])
{
d[y][ 1 ]=d[a][ 0 ];
d[y][ 3 ]=d[a][ 2 ];
Print ( "m1[y]=" ,m1[y], "d[y][1]=" ,d[y][ 1 ], "d[y][3]=" ,d[y][ 3 ], "y=" ,y);
break ;
}
}
}
기본적으로 수업에는 모든 것이 있습니다. 저에게는 어두운 숲입니다. 그런데 몇 가지 생각이 들었다. 날짜와 숫자를 따로따로 배열로 만드세요. 만, 정렬 후 날짜가있는 색인 번호, 즉 두 번째 차원에있는 i를 얻는 방법은 무엇입니까?
double d[ 215 ][ 2 ];
m[ 0 ][i]=Dat_DtTm;
d[i][ 0 ]=f1;
d[i][ 1 ]=f2;
모든 것이 훨씬 쉽습니다. datetime m_date[4000]과 같은 날짜 배열과 int , string, double .. 및 모든 차원과 같은 모든 유형 의 다른 배열이 있다고 가정합니다.
이들 모두는 이 배열의 i번째 행에 있는 데이터가 날짜 m_date[ i ]에 해당한다는 사실로 연결됩니다. 이러한 모든 배열을 날짜별로 정렬해야 합니다.
m_dim을 이 배열의 행 수(날짜 수)로 설정합니다. 우리는 비용이 많이 드는 작업으로 ArrayResize를 사용 하지 않고 이 예에서는 m_dim <= 4000만 사용합니다.
int m_index[ 4000 , 2 ];
// Заполняем массив индексов:
for ( int i = 0 ; i < m_dim; i ++ )
{
m_index[ i, 0 ] = m_date[ i ];
m_index[ i, 1 ] = i;
}
// Сортируем индексный массив
ArraySort ( m_index, m_dim, 0, MODE_DECEND);
// Все
이제 첫 번째 차원에서 날짜를 가져오고 두 번째 차원에서 이 날짜에 해당하는 배열 인덱스 를 가져옵니다.
모든 것이 훨씬 쉽습니다. datetime m_date[4000]과 같은 날짜 배열과 int , string, double .. 및 모든 차원과 같은 모든 유형 의 다른 배열이 있다고 가정합니다.
이들 모두는 이 배열의 i번째 행에 있는 데이터가 날짜 m_date[ i ]에 해당한다는 사실로 연결됩니다. 이러한 모든 배열을 날짜별로 정렬해야 합니다.
m_dim을 이 배열의 행 수(날짜 수)로 설정합니다. 우리는 비용이 많이 드는 작업으로 ArrayResize를 사용 하지 않고 이 예에서는 m_dim <= 4000만 사용합니다.
int m_index[ 4000 , 2 ];
// Заполняем массив индексов:
for ( int i = 0 ; i < m_dim; i ++ )
{
m_index[ i, 0 ] = m_date[ i ];
m_index[ i, 1 ] = i;
}
// Сортируем индексный массив
ArraySort ( m_index, m_dim, 0, MODE_DECEND);
// Все
이제 첫 번째 차원에서 날짜를 가져오고 두 번째 차원에서 이 날짜에 해당하는 배열 인덱스 를 가져옵니다.