커뮤니티

질문합니다.

프로필 이미지
항해사
2008-01-15 14:06:35
1252
글번호 14400
답변완료
배열(array)을 모르겠습니다. 어떻게 사용해야 하는지 자세히 설명해주세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-01-15 16:13:41

안녕하세요 예스스탁입니다. 배열문은 동일한 유형의 데이터를 일반 변수보다 효율적으로 처리하기 위하여 사용됩니다. 만약 value라는 변수를 var : value(0); value = A; 와 같이 사용하면 value라는 변수에는 값을 1개만 저장할 수 있고 그곳에 A를 저장합니다. 하지만 array : value[99](0); 와 같이 사용하면 value라믄 변수는 내부적으로 총 100개의 방을 가지는 변수가 되어 총 100개의 값을 각 방에 저장할 수가 있습니다. 즉 value에 0번방에 A라는 값을 value의 1번방에는 B 와 같이 저장하여 사용할 수 있습니다. 아래위 식은 분봉이나 일봉에서 월봉의 고가값을 저장하는 식입니다. Input : N(1); var : cnt(0); array : MH[99](0); if index() == 0 then MH[0] = H; if date > date[1]+30 then{ MH[0] = H; for cnt = 1 to 20{ MH[cnt] = MH[cnt-1][1]; } } if H > MH[0] then{ MH[0] = H; } MonthHigh = MH[N]; MH라는 변수는 0~99번 방을 가지는 배열변수이며 MH의 0번 방에는 현재월의 최고가를 누적하고 달이 변경될때 뒷방으로 값을 하나씩 밀게끔 되어 있어 사용자는 MH[0],MH[1]과 같이 숫자만병경하면 현재월 전월 전전월의 값을 쉽게 가져와 사용할 수 있습니다. 만약 위의 식을 일반변수로 사용한다면 MH0,MH1,MH2,MH3,MH4~~MH99까지 총 100개의 변수를 만들어 각각 선언해야 하며 달이 변경될때 해당값의 전월에 값을 이전해야 하므로 if date > date[1]+30 then{ MH1 = MH0[1]; MH2 = MH1[1]; MH3 = MH2[1]; ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ MH99 = MH98[1]; } 와 같이 총 99개의 값을 뒤로 밀게 작성해야 합니다. 즉 일반적으로 하나의 변수에 여러개의 값을 저장해 놓고 방번호만 숫자로 입력해서 편하게 사용할 수 있게 사용하기 위해 array 변수가 제공되며 위와 같은 경우처럼 식을 더 간략하고 짧게 작성가능합니다. 참고하시기 바랍니다. 즐거운 하루되세요 > 항해사 님이 쓴 글입니다. > 제목 : 질문합니다. > 배열(array)을 모르겠습니다. 어떻게 사용해야 하는지 자세히 설명해주세요.