심심해서 오유하던 중에 <여우지니>님이 올리신 <a target="_blank" href="http://www.todayhumor.co.kr/board/view.php?table=programmer&no=3992&s_no=3992&page=4" target="_blank"> C#로또프로그램</a>(원글링크)에 꽂혀서 <div>허접하나마 윈폼으로 한번 만들어 봤습니다.</div> <div>하고나니 내가 이걸 왜 했지? 하고 후회하는 중..ㅋ</div> <div>실행파일을 올릴 줄 몰라서 소스만 붙여 넣었습니다.</div> <div><br></div> <div>마무으리!</div> <div><br></div> <div><br></div> <div><div>using System;</div> <div>using System.Collections.Generic;</div> <div>using System.ComponentModel;</div> <div>using System.Data;</div> <div>using System.Drawing;</div> <div>using System.Linq;</div> <div>using System.Text;</div> <div>using System.Windows.Forms;</div> <div>using System.Collections;</div> <div><br></div> <div>namespace Lotto</div> <div>{</div> <div> public partial class Form1 : Form</div> <div> {</div> <div> public int[] nCollect = new int[6];</div> <div><br></div> <div> public Form1()</div> <div> {</div> <div> InitializeComponent();</div> <div> }</div> <div><br></div> <div> private void btn_CreateNum_Click(object sender, EventArgs e)</div> <div> {</div> <div> Random rd_Num = new Random();</div> <div> int[] nBase = new int[46];</div> <div> int DoCount = 1;</div> <div> string AllSelNums = "";</div> <div><br></div> <div> try</div> <div> {</div> <div> // 1. 수행횟수값 받기</div> <div> if (this.txtCount.Text != "")</div> <div> DoCount = Convert.ToInt32(this.txtCount.Text);</div> <div><br></div> <div> // 2. 수행결과값을 문자열로 저장(구분자 ",")</div> <div> for (int i = 0; i < DoCount; i++)</div> <div> {</div> <div> HashSet<int> HS_Num = new HashSet<int>();</div> <div> while (HS_Num.ToArray<int>().Length < 6)</div> <div> {</div> <div> HS_Num.Add(rd_Num.Next(1, 45));</div> <div> }</div> <div> nCollect = HS_Num.ToArray<int>();</div> <div> foreach (int sNum in nCollect)</div> <div> {</div> <div> AllSelNums += sNum.ToString() + ",";</div> <div> }</div> <div> }</div> <div><br></div> <div> // 3. 수행결과를 배열로 변경(정렬(내림차순)포함)</div> <div> int[] arrAllSelNum = Array.ConvertAll<string, int>(AllSelNums.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries), int.Parse);</div> <div> Array.Sort(arrAllSelNum, (item1, item2) => { return Comparer<int>.Default.Compare(item1, item2); });</div> <div><br></div> <div> // 4. 중복값 처리</div> <div> ArrayList SelNumList = new ArrayList();</div> <div> ArrayList SelCntList = new ArrayList();</div> <div><br></div> <div> foreach (int intNum in arrAllSelNum)</div> <div> {</div> <div> if (SelNumList.Contains(intNum))</div> <div> {</div> <div> int point = SelNumList.BinarySearch(intNum);</div> <div> SelCntList[point] = (int)SelCntList[point] + 1;</div> <div> }</div> <div> else</div> <div> {</div> <div> SelNumList.Add(Convert.ToInt32(intNum));</div> <div> SelCntList.Add(1);</div> <div> }</div> <div> }</div> <div><br></div> <div> // 5. 최대 중복된 순서로 정렬</div> <div> for (int i = 0; i < SelCntList.Count; i++)</div> <div> {</div> <div> for (int j = i + 1; j < SelCntList.Count; j++)</div> <div> {</div> <div> int cntHigh = 0;</div> <div> int cntLow = 0;</div> <div> int numHigh = 0;</div> <div> int numLow = 0;</div> <div><br></div> <div> if ((int)SelCntList[i] < (int)SelCntList[j])</div> <div> {</div> <div> cntHigh = (int)SelCntList[j];</div> <div> cntLow = (int)SelCntList[i];</div> <div> SelCntList[i] = cntHigh;</div> <div> SelCntList[j] = cntLow;</div> <div><br></div> <div> numHigh = (int)SelNumList[j];</div> <div> numLow = (int)SelNumList[i];</div> <div> SelNumList[i] = numHigh;</div> <div> SelNumList[j] = numLow;</div> <div> }</div> <div> }</div> <div> }</div> <div><br></div> <div> // 6. 정렬된 값에서 6개 추출하여 출력</div> <div> nCollect = new int[] { (int)SelNumList[0], (int)SelNumList[1], (int)SelNumList[2], (int)SelNumList[3], (int)SelNumList[4], (int)SelNumList[5] };</div> <div> Array.Sort(nCollect, (item1, item2) => { return Comparer<int>.Default.Compare(item1, item2); });</div> <div> for (int i = 1; i <= 6; i++)</div> <div> {</div> <div> TextBox numBox = (TextBox)this.FindForm().Controls["txtSelNum" + i.ToString()];</div> <div> numBox.Text = nCollect[i - 1].ToString();</div> <div> }</div> <div> }</div> <div> catch (Exception ex)</div> <div> {</div> <div> MessageBox.Show(ex.Message);</div> <div> }</div> <div> finally</div> <div> {</div> <div> </div> <div> }</div> <div> }</div> <div> }</div> <div>}</div></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.