* 작성자: wacs5
* 사서함: wacs5@ 126.com
* 기능: 36 선택 7.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include & ltdos.h & gt
# include & lttime.h & gt
# include & ltconio.h & gt
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltGraphics.h & gt
# 정의 N 36 /*36 선택 7*/
# M7 정의/* 36 선택 7*/
# TRY_N 10 /* 10 실험 정의 */
인트메인 (void)
{
Intdata [try _ n] [m]; /* 데이터 배열 저장 */
Int try_i, I, j;
Int sameflag, temp
Int gdriver=DETECT, gmode, errorcode
Charinfo [10];
Intorder [n];
FILE * FP
Fp=fopen("randdata.txt ","w ");
If (fp==NULL)
{
Printf ("파일 열기 오류: \ n 아무 키나 눌러 종료:");
Getch ();
종료 (-1);
}
Initgraph (& G 드라이버 & Gmode, ""; /* 그래픽 드라이버 초기화 */
Randomize (); /* 초기화 난수 */
For(I = 0;; 나 & ltn;; I++) /* 36 개의 공을 배열에 넣는다 */
주문 [I] = I+1;
For(I = 0;; 나 & ltn;; I++)/* 36 개의 공을 무작위로 출력합니다 */
{
J = rand ()% (n-I);
Temp = order [n-I-1];
주문 [N-I- 1]= 주문 [j];
주문 [j] = temp;
}
For(I = 0;; 나 & ltn;; I++)
{
Itoa (주문 [i], 정보,10); /* 숫자를 문자열로 변환 */
Outtextxy((i%M)*40, (i/M)*20, 정보); /* 그래픽 인터페이스 출력 */
}
For(try _ I = 0;; Try _ I & ltTRY _ N;; Try_i++) /* Try _ I 실험 */
{
For(I = 0;; 나 & ltm;; I++) /* I 번째 숫자 */
{
Sameflag =1; /* 선택한 번호는 반복할 수 없기 때문에 */
While (sameflag== 1) /* 반복하면 반복되지 않을 때까지 계산됩니다 */
{
Temp = rand ()% n+1; /* 생성 1 에서 36 사이의 난수 */
For(j = 0;; J< 나; J++) /* 선택한 숫자와 비교하여 */
If (temp==data[try_i][j]) /* 반복하면 다음 추출 */
깨뜨리다
If (j==i) /* 반복되지 않음, 데이터 저장 */
{
데이터 [try _ I] [I] = temp;
Sameflag = 0;
}
}
}
For(I = 0;; 나 & ltm;; I++) /* Sort */
For (j = I+1; J & ltm;; J++)
If (데이터 [try _ I] [I] > 데이터 [try _ I] [j])
{
Temp = data [try _ I] [I];
Data [try _ I] [I] = data [try _ I] [j];
데이터 [try _ I] [j] = temp;
}
For(I = 0;; 나 & ltm;; I++)
{
Itoa (데이터 [try _ I] [I], info,10); /* 숫자를 문자열로 변환 */
Outtextxy(i*40, (8+try_i)*20, info); /* 그래픽 인터페이스 출력 */
Fprintf(fp, "%2d", 데이터 [try _ I] [I]);
}
Fprintf(fp, "\ n");
}
Fclose (FP);
Getch (); /* 키를 기다립니다 */
Closegraph (); /* 그래픽 인터페이스 닫기 */
0 을 반환합니다
}