2차원 배열을 2차원으로 정렬하기 - 페이지 2

 

Hey Gordon, 미리 알려주셔서 감사합니다. 해당 코드를 읽는 동안 가장 큰 패자 거래를 찾기 위해 바구니를 반복하는 코드 스니펫이 이미 있다는 것을 상기했습니다. 가장 큰 승자, 승자가 패자보다 크면 각각을 닫을 수 있습니다. 그것은 내가 필요로하는 일을 할 것입니다. 때로는 잠을 자는 것이 가장 좋은 코드 생성기입니다. 쏴, 아마 밤새 코딩할 수 있을거야. 수정이 많지 않습니다. 한 번에 모두 닫을 필요는 없습니다. 우리는 그것을 처음으로 통과한 다음 다음 틱 또는 초에서 다시 진행할 수 있습니다. 또는 이전에 말했듯이 이와 같은 것이 편리할 때 동시에 실행되는 또 다른 기능이 있습니다. 해당 기능 코딩에 포함할 수 있습니다.

눈을 뜨게 해준 Gordon에게 감사합니다.

 

배열을 가격순으로 정렬하려면 첫 번째 차원에 가격을 로드하고 두 번째 차원에 티켓을 로드하는 것이 어떻습니까? 그런 다음 일반적인 방법으로 정렬할 수 있습니다.

 

예, 그것은 이미 생각했습니다. 그런 다음 데이터를 반전된 배열로 다른 배열에 복사하여 다른 방식으로 다시 정렬합니다. 내가 하기로 결정한 것은 훨씬 간단했고 실제로 내 요구에 훨씬 더 잘 맞았습니다. 나는 기본적으로 열린 거래를 반복하고 가장 큰 승자보다 가장 큰 승자와 가장 큰 패자를 찾은 다음 둘 다 닫습니다. 다음 틱 또는 캔들에서 프로세스를 반복합니다. 잘 나왔다.

 
gordon :

무엇이라고 부르고 싶든 2D 배열의 첫 번째 차원은 벡터 arr_name[0,1,...,n][0]이므로 기술적으로 첫 번째 괄호는 첫 번째 차원을 유지합니다. 이것은 ArraySort()에 의해 정렬될 벡터이기도 합니다. 책에서:

우리가 ArraySort() 주제에 있는 한 나는 시간이 지남에 따라 발견한 문서화되지 않은 2가지 특성을 언급할 것입니다(누군가가 저를 확인하거나 수정하면 기쁠 것입니다...?):

  1. 첫 번째 차원의 일부 요소가 동일한 경우 반드시 순서를 유지하지는 않습니다. 분명히 이것은 '설계상'인 경우 문서화되어야 하며, 그렇지 않으면 '버그'로 간주됩니다.
  2. OrderSort()는 4D 배열에서 작동하지 않습니다(오류 4053 반환). 다시 말하지만, 이것은 문서화되어야 하지만 그렇지 않습니다.
답변이 늦어 죄송합니다 여러분.. 많은 일이 방해가 되었습니다. 답변에 가장 감사드립니다.
FWIW 다음은 내 응답입니다('스팸' 모드에서 :( ):
- 1D 배열에서는 문제가 발생하지 않습니다. 2D, 3D, 4D 배열에서 가장 왼쪽 에 있는 대괄호 쌍은 항상 1차원 입니다. 고든이 맞습니까?
 
cameofx :
- 1D 배열에서는 문제가 발생하지 않습니다. 2D, 3D, 4D 배열에서 가장 왼쪽 에 있는 대괄호 쌍은 항상 1차원 입니다. 고든이 맞습니까?

네.

 
gordon :

무엇이라고 부르고 싶든 2D 배열의 첫 번째 차원은 벡터 arr_name[0,1,...,n][0]이므로 기술적으로 첫 번째 괄호는 첫 번째 차원을 유지합니다. 이것은 ArraySort()에 의해 정렬될 벡터이기도 합니다. 책에서:

우리가 ArraySort() 주제에 있는 한 나는 시간이 지남에 따라 발견한 문서화되지 않은 2가지 특성을 언급할 것입니다(누군가가 저를 확인하거나 수정하면 기쁠 것입니다...?):

  1. 첫 번째 차원의 일부 요소가 동일한 경우 반드시 순서를 유지하지는 않습니다. 분명히 이것은 '설계상'인 경우 문서화되어야 하며, 그렇지 않으면 '버그'로 간주됩니다.
  2. OrderSort()는 4D 배열에서 작동하지 않습니다(오류 4053 반환). 다시 말하지만, 이것은 문서화되어야 하지만 그렇지 않습니다.
답변이 늦어 죄송합니다 여러분.. 많은 일이 방해가 되었습니다. 답변에 가장 감사드립니다.
FWIW 내 응답은 다음과 같습니다.
- 1D 배열에서는 문제가 발생하지 않습니다. 2D, 3D, 4D 배열에서 가장 왼쪽 에 있는 대괄호 쌍은 항상 1차원 입니다. 이것은 나의 이해이기도 하다.
 int     a[ 50 ];       // A one-dimensional array of 50 integers.
double m[ 7 ][ 50 ];     // Two-dimensional array of seven arrays,
                     //each of them consisting of 50 integers
하지만 이 설명을 볼 때. 설명된 방식은 "7개의 배열로 구성된 2차원 배열입니다. 배열은 50개의 정수 로 구성되어 있습니다." 이것과 귀하의 응답을 고려할 때... 이것은 반드시
50개의 정수 가 데이터의 행/구성원 크기와 더 비슷하고 7이 열/머리글임을 암시하기 때문에 잘못된 설명입니다. 이것은 내가 (잘못) 믿게 만들었다
가장 오른쪽 은 우리가 편리하게 크기를 조정할 수 있는 행/멤버 부분이었습니다.
- 고든의 발견을 공유해주셔서 감사합니다. 불행히도 테스트는 요즘 나에게 사치입니다 ... 나는 간헐적으로 컴퓨터와 인터넷을 가질 수 있습니다 (복잡합니다).
죽은 차트에서 테스트하는 것조차 도전입니다... :( . 그래서 가끔은 '뒤틀린 이해력'이 있습니다. TBH, 저는 주로 메모리와 참조에 의존합니다...(죄송합니다.).

추신 : 앗.. 예전글이 들어간줄 몰랐네요 수정했습니다.
 
cameofx :
[...] 이것은 50개의 정수 가 데이터의 행/구성원 크기와 더 비슷하고 7이 열/머리글임을 암시하기 때문에 잘못된 설명임에 틀림없습니다.

그것이 시사하는 바가 확실하지 않지만, 어쨌든 가장 왼쪽이 첫 번째 차원입니다. 많은 문서가 러시아어에서 번역된 것인데, 여러 번 아주 좋은 번역이 아니므로 아마도 이것이 그러한 경우 중 하나일 것입니다. 열/행은 단지 은유입니다. 배열을 더 쉽게 상상할 수 있지만 실제 구현과는 아무 관련이 없습니다. 첫 번째 차원이 '행'인지 '열'인지 여부는 사용자에게 달려 있습니다.

 
1005phillip :


표준 스프레드시트 방식으로 배열 인덱싱 및 차원 지정을 살펴봅니다...행-열(니모닉 "로마 가톨릭").

1D 배열: MyArray[RowNumber-1]

2D 배열: MyArray[RowNumber-1][ColumnNumber-1]

3D 배열: MyArray[RowNumber-1][ColumnNumber-1][Worksheet-1] ....

이것도 제가 그린 방법입니다. 1차원과 관련하여 인용한 참조가 저를 실망시켰습니다.(위의 게시물 참조). 따라서 논리적으로 ColumnNumber 및/또는 WorksheetNumber의 크기를 조정할 수 없습니다.
및/또는 BookNumber..RowNumber만. 2D, 3D 및 4D 배열에서 가장 왼쪽에 있는 브래킷 쌍입니다.
 
cameofx :
따라서 논리적으로 크기를 조정할 수 없습니다 [...]

좋아요.

 
gordon :

그것이 시사하는 바가 확실하지 않지만, 어쨌든 가장 왼쪽이 첫 번째 차원입니다. 많은 문서가 러시아어에서 번역된 것인데, 여러 번 아주 좋은 번역이 아니므로 아마도 이것이 그러한 경우 중 하나일 것입니다. 열/행은 단지 은유입니다. 배열을 더 쉽게 상상할 수 있지만 실제 구현과는 아무 관련이 없습니다. 첫 번째 차원이 '행'인지 '열'인지는 사용자에게 달려 있습니다...

네.. 불행히도 우리 중 많은 사람들이 - 나는 많은 뉴비들을 위해 말하고 있다고 확신합니다.. - 기존 문서에 너무 자주 의존합니다..

사유: