커뮤니티

질문 부탁드립니다

프로필 이미지
yamu
2025-05-23 07:21:32
216
글번호 191099
답변완료
답변 감사드립니다 질문 1) 아래식에서 for문을 수행했는데 해당 값이 없을 경우, 그 다음에 if aa[0]*1.05 < aa[cnt] 를 for cnt=1 to 5 로 수행하려고 한다면 어떻게 작성을 해야 할까요? value1=0; for cnt=1 to 5 { if aa[0]*1.2 < aa[cnt] then { value1=aa[cnt]; } } 위의 질문과 별개로 아래와 같이 나눠서 작성한다면 for 문을 순차적으로 수행하게 되는건가요?? 첫번째 for 문에서 저장된 value1 값이 두번째 for문으로 의해서 두번째 value1 값으로 변경되는건가요? (기존 value1에 덮어씌움?) value1=0; for cnt=1 to 5 { if aa[0]*1.2 < aa[cnt] then { value1=aa[cnt]; } } for cnt=1 to 5 { if aa[0]*1.05 < aa[cnt] then { value1=aa[cnt]; } } 질문2)) if h>l*1.08 then { sum1=0; sumi1=0; For cnt = 49 DownTo 1 { id[cnt]=id[cnt-1]; } id[0]= index; For cnt = 1 to (id[0]-id[1]) { sum1=sum1+l[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; For cnt = 1 to (id[0]-id[1]) { if h[cnt]>aa[0] then value2=cnt; } } 위에 식에서 aa[0] 보다 큰 고가의 갯수를 value2 에 저장을 했는데요 만약에 cnt = 1 to (id[0]-id[2] ) cnt= 1 to (id[0]-id[3]) ,,, 이런식으로 cnt= 1 to (id[0]-id[4]) 까지 고가의 갯수를 각각 구했을때, value2 보다 처음으로 2배 이상의 값을 가지게 됐을때 id[] 의 번호와 고가값의 갯수를 저장하고자 하는데 통합된 식으로 작성을 도와주셨으면 합니다 예를들어서 기준이 되는 value2 가 5일때, 만약 id[3] 까지 구했을때는 8, id[4] 까지는 12개가 나왔다면 id[4]의 번호 (4번) 과 고가값의 갯수를 저장하고자 합니다 질문3) 질문2와 같이 갯수 비교하는 수식을 만들려고 하는데요 For cnt = 1 to (id[0]-id[1]) { if h[cnt]>aa[0] and l[cnt]<aa[0] then value2=cnt; } 위와 같은 식이 있을때, 같은 for 범위 ( cnt = 1 to (id[0]-id[1]) 인데 aa[] 값을 다르게 해서 비교하려고 합니다 if h[cnt]>aa[0] and l[cnt]<aa[0] h[cnt]>aa[1] and l[cnt]<aa[1] ... h[cnt]>aa[3] and l[cnt]<aa[3] 이렇게 각각의 cnt 값들을 구했을때 이들중에서 cnt 가 가장 클때 그 값과, 그때의 aa 배열의 의 순번을 저장하고 싶습니다 예를들어 aa[3] 일때 봉갯수가 가장 많다면 봉갯수와 aa[3] 을 저장을 하고 싶습니다 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-23 13:21:07

안녕하세요 예스스탁입니다. 1 기존 for문 하단에 value1이 0일때 한번더 for문을 수행하게 작성하시면 됩니다. 올리신 내용과 같이 단순히 나열하면 아래 for문만 있는 것과 같습니다. 위 for문에서 value1에 값이 저장되지 않을때만 수행하게 하시면 됩니다. value1=0; for cnt=1 to 5 { if aa[0]*1.2 < aa[cnt] then { value1=aa[cnt]; } } if value1 == 0 Then { for cnt=1 to 5 { if aa[0]*1.05 < aa[cnt] then { value1=aa[cnt]; } } } 2 작성하신 내용은 aa[0]보다 큰 고가의 갯수가 아닙니다. 해당 for문에서 내용상 cnt는 1봉전,2봉전,,과 같이 이전봉의 번호입니다. aa[0]보다 큰 고가 중 가장 현재봉에서 가장 먼 고가가 몇봉전인지를 나타내는 내용입니다. 갯수이면 아래와 같이 수정하셔야 합니다. Value2 = 0; For cnt = 1 to (id[0]-id[1]) { if h[cnt]>aa[0] then value2 = value2+1; } n봉전이 맞다면 기존표현을 사용하시면 됩니다. Value2 = 0; Value3 = 0; //총갯수 Value4 = 0; //처음으로 Value2의 두배일때 총갯수 For x = 1 to 4 { For y = 1 to (id[0]-id[x]) { if h[y]> aa[0] then { if x == 1 Then value2 = value2+1; value3 = value3+1; } } if Value4 == 0 and Value3 >= Value2*2 Then Value4 = Value3; } 3 Value2 = 0; Value3 = 0; Value4 = 0; For x = 0 to 3 { For y = 1 to (id[0]-id[1]) { if h[cnt]>aa[x] and l[cnt]<aa[x] then value2 = value2+1; } if Value3 == 0 or (Value3 > 0 and Value2 > Value3) Then { Value3 = Value2; Value3 = aa[x]; } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 부탁드립니다 > 답변 감사드립니다 질문 1) 아래식에서 for문을 수행했는데 해당 값이 없을 경우, 그 다음에 if aa[0]*1.05 < aa[cnt] 를 for cnt=1 to 5 로 수행하려고 한다면 어떻게 작성을 해야 할까요? value1=0; for cnt=1 to 5 { if aa[0]*1.2 < aa[cnt] then { value1=aa[cnt]; } } 위의 질문과 별개로 아래와 같이 나눠서 작성한다면 for 문을 순차적으로 수행하게 되는건가요?? 첫번째 for 문에서 저장된 value1 값이 두번째 for문으로 의해서 두번째 value1 값으로 변경되는건가요? (기존 value1에 덮어씌움?) value1=0; for cnt=1 to 5 { if aa[0]*1.2 < aa[cnt] then { value1=aa[cnt]; } } for cnt=1 to 5 { if aa[0]*1.05 < aa[cnt] then { value1=aa[cnt]; } } 질문2)) if h>l*1.08 then { sum1=0; sumi1=0; For cnt = 49 DownTo 1 { id[cnt]=id[cnt-1]; } id[0]= index; For cnt = 1 to (id[0]-id[1]) { sum1=sum1+l[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; For cnt = 1 to (id[0]-id[1]) { if h[cnt]>aa[0] then value2=cnt; } } 위에 식에서 aa[0] 보다 큰 고가의 갯수를 value2 에 저장을 했는데요 만약에 cnt = 1 to (id[0]-id[2] ) cnt= 1 to (id[0]-id[3]) ,,, 이런식으로 cnt= 1 to (id[0]-id[4]) 까지 고가의 갯수를 각각 구했을때, value2 보다 처음으로 2배 이상의 값을 가지게 됐을때 id[] 의 번호와 고가값의 갯수를 저장하고자 하는데 통합된 식으로 작성을 도와주셨으면 합니다 예를들어서 기준이 되는 value2 가 5일때, 만약 id[3] 까지 구했을때는 8, id[4] 까지는 12개가 나왔다면 id[4]의 번호 (4번) 과 고가값의 갯수를 저장하고자 합니다 질문3) 질문2와 같이 갯수 비교하는 수식을 만들려고 하는데요 For cnt = 1 to (id[0]-id[1]) { if h[cnt]>aa[0] and l[cnt]<aa[0] then value2=cnt; } 위와 같은 식이 있을때, 같은 for 범위 ( cnt = 1 to (id[0]-id[1]) 인데 aa[] 값을 다르게 해서 비교하려고 합니다 if h[cnt]>aa[0] and l[cnt]<aa[0] h[cnt]>aa[1] and l[cnt]<aa[1] ... h[cnt]>aa[3] and l[cnt]<aa[3] 이렇게 각각의 cnt 값들을 구했을때 이들중에서 cnt 가 가장 클때 그 값과, 그때의 aa 배열의 의 순번을 저장하고 싶습니다 예를들어 aa[3] 일때 봉갯수가 가장 많다면 봉갯수와 aa[3] 을 저장을 하고 싶습니다 감사합니다