[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 58 1...515253545556575859606162636465...633 새 코멘트 [삭제] 2012.04.07 15:11 #571 배열을 통해 문자열의 문자를 바꾸는 기능을 약간 변경했습니다. string StrReplaceTwo(string text){ string textMod[] ={""}; string symbols1[] = {"12","15","19","13","14","16"}; string symbols2[] = {"a","b","c","d","e","f"}; string textNew=""; int textLen = StringLen(text); for (int i1=0; i1<textLen; i1=i1+2) { string TwoSymbols = StringSubstr(text,i1,2); for (int i2=0; i2<ArraySize(symbols1); i2++) { if (symbols1[i2]==TwoSymbols) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; } } } return (textNew); } 이제 한 줄에 2자를 반복합니다. 예를 들어 줄 1215는 ab로 대체됩니다. 하지만 문제가 발생했습니다. 이 함수는 배열에 없는 문자를 생략하고 문자열에 홀수의 문자가 있으면 마지막 문자를 생략합니다. 1214153 행을 14b3으로 바꾸도록 함수를 변경하도록 도와주세요. 덕분에! [ARCHIVE!] Any rookie question, Decrypt converting ask to a Alexander 2012.04.07 16:10 #572 Lians : 1214153 행을 14b3으로 바꾸도록 함수를 변경하도록 도와주세요. 덕분에! 논리를 이해할 수 없습니다. 배열에 14개가 있습니다. "e"로 대체되어야 합니다. 패리티로 쌓을 수 있지만 0을 추가하는 것이 좋습니다. 3을 03으로 바꿉니다. Alexey Subbotin 2012.04.07 16:11 #573 Lians : 배열을 통해 문자열의 문자를 바꾸는 기능을 약간 변경했습니다. 나는 당신이 뭔가에 있다고 생각합니다. 부분 문자열 대체 기능이 필요한 경우 이 옵션을 사용할 수 있습니다. // функция ищет matched_text в строке text и заменяет его на replace_text string StringReplace( string text, string matched_text, string replace_text) { int pos= StringFind (text,matched_text); while (pos>= 0 ) { if (pos== 0 ) text = StringConcatenate (replace_text, StringSubstr (text, StringLen (matched_text))); else text = StringConcatenate ( StringSubstr (text, 0 ,pos),replace_text, StringSubstr (text,pos+ StringLen (matched_text))); pos= StringFind (text,matched_text,pos+ StringLen (replace_text)); } return (text); } 끝을 약간 수정하고 반복 가능성에 즉시주의를 기울이지 않았습니다. [삭제] 2012.04.07 16:19 #574 Roger : 논리를 이해할 수 없습니다. 배열에 14개가 있습니다. "e"로 대체되어야 합니다. 패리티로 쌓을 수 있지만 0을 추가하는 것이 좋습니다. 3을 03으로 바꿉니다. 아, 죄송합니다. 눈치채지 못했는데 패리티에 대해 17b3의 1217153이라고 합시다 - 0을 추가하는 옵션이 가능합니다. 그렇게 할 수 있나요? 글쎄, 아니면 마지막 문자를 생략하도록 놔두어도 상관없다고 생각했습니다 . [삭제] 2012.04.07 16:23 #575 alsu : 나는 당신이 뭔가에 있다고 생각합니다. 부분 문자열 대체 기능이 필요한 경우 이 옵션을 사용할 수 있습니다. 고맙습니다! 그러나 내 문자열이 생성되고 교체도 생성되어야 하며 각각 2자를 사용하는 것이 바람직합니다. [삭제] 2012.04.07 16:24 #576 거래가 이루어질 시간 간격을 설정하는 방법을 알려주십시오. (하루의 시작 시간과 종료 시간) Alexander 2012.04.07 16:31 #577 리안 : 오, 죄송합니다. 알아차리지 못했습니다. 패리티에 대해 17b3의 1217153이라고 가정해 보겠습니다. 0을 추가하는 옵션이 가능합니다. 그렇게 할 수 있습니까? string StrReplaceTwo( string text){ string textMod[] ={ "" }; string symbols1[] = { "12" , "15" , "19" , "13" , "14" , "16" }; string symbols2[] = { "a" , "b" , "c" , "d" , "e" , "f" }; string textNew= "" ; int textLen = StringLen (text); for ( int i1= 0 ; i1<textLen; i1=i1+ 2 ) { string TwoSymbols = StringSubstr (text,i1, 2 ); bool x=true; for ( int i2= 0 ; i2< ArraySize (symbols1); i2++) { if (symbols1[i2]==TwoSymbols) {textNew = textNew + symbols2[ i2 ] ; x=false; break ;} } if (x) textNew +=StrToInteger(TwoSymbols); } return (textNew); } 그런 곳. [삭제] 2012.04.07 16:44 #578 감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다. if (x) textNew +=StrToInteger(TwoSymbols); 다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다. 어떻게 고치는 지? Vadim Zhunko 2012.04.07 16:46 #579 Lians : 감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다. 다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다. 어떻게 고치는 지? 이것은 MQL4의 문자열에 대해 작동하지 않습니다. if (x) textNew = textNew + StrToInteger (TwoSymbols); Igor Makanu 2012.04.07 16:47 #580 Lians : 감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다. 다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다. 어떻게 고치는 지? if (x) textNew = textNew + StrToInteger (TwoSymbols); mql4는 문자열 유형 에 += 연산자를 사용할 수 없습니다. 1...515253545556575859606162636465...633 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
배열을 통해 문자열의 문자를 바꾸는 기능을 약간 변경했습니다.
string StrReplaceTwo(string text){
string textMod[] ={""};
string symbols1[] = {"12","15","19","13","14","16"};
string symbols2[] = {"a","b","c","d","e","f"};
string textNew="";
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1=i1+2)
{
string TwoSymbols = StringSubstr(text,i1,2);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==TwoSymbols) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; }
}
}
return (textNew);
}
이제 한 줄에 2자를 반복합니다. 예를 들어 줄 1215는 ab로 대체됩니다. 하지만 문제가 발생했습니다. 이 함수는 배열에 없는 문자를 생략하고 문자열에 홀수의 문자가 있으면 마지막 문자를 생략합니다. 1214153 행을 14b3으로 바꾸도록 함수를 변경하도록 도와주세요. 덕분에!
1214153 행을 14b3으로 바꾸도록 함수를 변경하도록 도와주세요. 덕분에!
논리를 이해할 수 없습니다. 배열에 14개가 있습니다. "e"로 대체되어야 합니다. 패리티로 쌓을 수 있지만 0을 추가하는 것이 좋습니다. 3을 03으로 바꿉니다.
배열을 통해 문자열의 문자를 바꾸는 기능을 약간 변경했습니다.
나는 당신이 뭔가에 있다고 생각합니다. 부분 문자열 대체 기능이 필요한 경우 이 옵션을 사용할 수 있습니다.
끝을 약간 수정하고 반복 가능성에 즉시주의를 기울이지 않았습니다.
논리를 이해할 수 없습니다. 배열에 14개가 있습니다. "e"로 대체되어야 합니다. 패리티로 쌓을 수 있지만 0을 추가하는 것이 좋습니다. 3을 03으로 바꿉니다.
나는 당신이 뭔가에 있다고 생각합니다. 부분 문자열 대체 기능이 필요한 경우 이 옵션을 사용할 수 있습니다.
리안 :
오, 죄송합니다. 알아차리지 못했습니다. 패리티에 대해 17b3의 1217153이라고 가정해 보겠습니다. 0을 추가하는 옵션이 가능합니다. 그렇게 할 수 있습니까?
감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다.
if (x) textNew +=StrToInteger(TwoSymbols);
다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다.
어떻게 고치는 지?
감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다.
다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다.
어떻게 고치는 지?
이것은 MQL4의 문자열에 대해 작동하지 않습니다.
감사합니다. 하지만 컴파일할 수 없습니다. 다음과 같이 맹세합니다.
다음과 같이 맹세합니다. '+=' - 두 피연산자는 모두 숫자여야 합니다.
어떻게 고치는 지?