답변 감사드립니다
질문 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] 을 저장을 하고 싶습니다
감사합니다