배열(1차원 2차원)에서 요소를 제거하는 방법은 무엇입니까? - 페이지 2

 
Seric29 :

기능 작동 방식

설명서에 설명이 없는데 어디서 읽을 수 있나요?

스레드를 읽고 있습니까? 관리자가 응답함 - 설명이 곧 제공될 예정입니다.

 
Seric29 :

나는 배열의 크기를 줄이지 않고 배열에서 요소를 제거합니다 ...

 void   ArrayFill( 
   void &  array[],       // массив 
   int     start,         // индекс начального элемента 
   int     count,         // количество элементов 
   void    value            // значение, которым заполняется массив 
   );

맞지 않을거야?

 
Ilya Malev :

친구가 말합니다: 1차원 및 2차원 . 2D 기능이 작동하지 않습니다. 같은 이름의 함수가 두 주제에서 작동하도록 하는 방법을 보여주세요. :)

2 차원에 대해 나는 어떻게 든 보지 못했습니다. 그러나 2차원도 자체적으로 복사되며, 수신기 배열에 쓸 인덱스와 소스에서 읽을 인덱스 값만 약간 다릅니다. 원칙적으로 문제는 mql에서 허용되는 3-4차원 배열에 대해서도 해결할 수 있습니다.

 
Seric29 :

나는 배열의 크기를 줄이지 않고 배열에서 요소를 제거합니다. 이것들은 다른 것입니다. 내가 알기로는 값 1.13612가 함수에서 제거되었으며 dellArrayElement( 3 , array); 배열 즉, 세 번째 요소가 배열에서 제거되었습니다. 올바르게 이해하고 있습니까? 프로그램을 많이 로드하는 그러한 실험의 속도는 얼마입니까?

하지만 만약, 조건에서

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

배열(1차원 2차원)에서 요소를 제거하는 방법은 무엇입니까?

Seric29 , 2018.12.21 23:50

배열에서 요소 를 제거 하는 방법은 무엇입니까? 이를 위해 저장된 요소의 수를 알아야 합니까?

배열의 크기를 줄여야 하는 것은 당연합니다. 안 그래?

예, 예를 들어 제거된 배열의 세 번째 요소였습니다. 속도와 신체의 일부는 다른 지점에서 측정됩니다. 이 경우 속도는 매우 정상입니다. 속도의 대략적인 값을 얻으려면 수백 번의 삭제를 여러 번 실행해야 합니다. 왜 내가 해야 합니까?

 
https://www.mql5.com/ru/forum/289594
Очистка массива от заданного (ых) элементов
Очистка массива от заданного (ых) элементов
  • 2018.11.12
  • www.mql5.com
Есть массив содержащий набор данных по типу 1,2,3,6,9,5,6,3,25,6,8,7,4 нужно удалить например значения 3 и на выходе получить тот же массив без 3 и...
 
Alexey Viktorov :

2 차원에 대해 나는 어떻게 든 보지 못했습니다. 그러나 2차원도 자체적으로 복사되며, 수신기 배열에 쓸 인덱스와 소스에서 읽을 인덱스 값만 약간 다릅니다. 원칙적으로 문제는 mql에서 허용되는 3-4차원 배열에 대해서도 해결할 수 있습니다.

원칙적으로는 해결할 수 있다고 생각합니다. 그것은 같은 이름 을 가진 함수에 대해 해결할 수 없는 것 같습니다.

 
Ilya Malev :

원칙적으로는 해결할 수 있다고 생각합니다. 그것은 같은 이름 을 가진 함수에 대해 해결할 수 없는 것 같습니다.

왜요? 초등 수업으로 하세요.

같은 것

 class A
{
 void DellArrElement( int i, double &arr[]);
 void DellArrElement( int i, double &arr[][]);
};

void A::DellArrElement( int i, double &arr[])
 {
   // тело функции для одномерного массива
 };

void A::DellArrElement( int i, double &arr[][])
 {
   // тело функции для двухмерного массива
 };

"무릎 위"로 작성되었으므로 부정확할 수 있습니다.

 

배열의 요소 순서가 중요하지 않은 경우 매우 빠르게 완료됩니다.

 #define ARRAY_RESERVE_SIZE     1000

template < typename T>
void DeleteElementFromArray(T &array[], int elementToDelete)
{  
   int arraySize = ArraySize (array);
   if (elementToDelete < 0 || elementToDelete >= arraySize)
       return ;
      
   array[elementToDelete] = array[arraySize - 1 ];
   ArrayResize (array, arraySize - 1 , ARRAY_RESERVE_SIZE);
}

이것은 1차원 배열을 위한 것입니다. 2차원 및 고차원 배열은 실제로 1차원 배열입니다. 1차원 배열은 논리적으로 N차원 배열로 표현될 수 있습니다. 즉, 사실 1차원 배열이면 항상 충분합니다.

 
Alexey Viktorov :

왜요? 초등 수업으로 하세요.

같은 것

"무릎 위"로 작성되었으므로 부정확할 수 있습니다.

컴파일을 시도 했습니까?

 
Ilya Malev :

컴파일을 시도 했습니까?

지금까지 그들은 포럼 웹사이트에서 직접 컴파일러를 만들 생각을 하지 않았습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

배열(1차원 2차원)에서 요소를 제거하는 방법은 무엇입니까?

알렉세이 빅토 로프 , 2018.12.22 21:25

왜요? 초등 수업으로 하세요.

같은 것

 class A
{
 void DellArrElement( int i, double &arr[]);
 void DellArrElement( int i, double &arr[][]);
};

void A::DellArrElement( int i, double &arr[])
 {
   // тело функции для одномерного массива
 };

void A::DellArrElement( int i, double &arr[][])
 {
   // тело функции для двухмерного массива
 };

"무릎 위"로 작성 되었으므로 부정확할 수 있습니다.