= 05학번 정수민 입니다 = == Profile == 중앙대학교 컴퓨터공학부 /// 기타등등등... == 목표 == 편하게 살자! == 진행중 == 편하게 살기위한 계획! == 방명록 == - 말을 여따 남겨줘요 - [정수민] == 프로잭트 == ㅋ 지금보면 미숙한부분이 너무 많은데;;; ㅋ; 이제와 수정할수도 없고 -_-;; === RUR === [데블스캠프2005/RUR-PLE/정수민] 완성이다아~~~ >.<)/ 자축자축 ㅋㅋㅋ === 미로찾기 === [미로찾기/정수민] 이놈 때문에 고생한거 생각하면 -_-;;; === 피보나치수열 === [피보나치/정수민,남도연] 이것도 그렇저렇 힘들었는데 -_-;; === 마름모 출력 === [마름모출력/정수민] 파이쏜으로 만든거라는 -_-v === ReverseAndAdd === [ReverseAndAdd/정수민] 꽤나 난이도 있었지만 선배님들이 해놓은걸 참고해서 풀어나간 -_-!!! 파이쏜으로 했는데 문법이 뭔가 쉬운듯하면서 어렵다는;;; === 하노이탑 === {{{~cpp [..............]}}} 꼭!!! 만들꺼야!!! ㅠ.ㅠ === 구구단 === {{{~cpp #include #include int main() { int i, j; for ( i = 1 ; i < 10 ; i++ ){ for ( j = 2 ; j < 10 ; j++ )printf("%d*%d=%2d ", j, i, i*j ); printf("n"); } system("PAUSE"); return 0; } }}} 이건 쉽구만 -0- === 당첨? === {{{~cpp /************************************************************************ * * * 로또복권 당첨돼는 번호가 나올때까지 무한 반복하는 프로그램입니다. * * 재미있을꺼 같아서... 만들어봤는데 -_- 재미없어요 [............] * * 가능성이 ㅡㅜ * * * ************************************************************************/ #include #include void randem_x(int count); void randem_y(int count, int save); void winning_number(); void make_number(int k); const int max_position = 6; int randemsoo[2][6]; long g = 1; int main() { int count, save; srand((unsigned)time(NULL)); count = 1; printf("중복 횟수입력 : "); scanf("%d", &count); printf("n"); randem_x(count); save = 1; winning_number(); randem_y(count, save); return 0; } void make_number(int k){ int i, j, h; /*숫자를 만들고,*/ for ( i = 0 ; i < max_position ; i++ ) randemsoo[k][i] = rand()%(45); /*중복을 없앤다음에*/ while ( i <= max_position ){ for ( i = 0 ; i <= max_position ; i++ ) for ( j = i+1 ; j < max_position ; j++ ){ if( randemsoo[k][i] == randemsoo[k][j] ) { randemsoo[k][j] = rand()%(45); break; } } } /*오름차순으로 숫자를 정리*/ for ( i = 0 ; i < max_position ; i++ ) for (j = i+1 ; j < max_position ; j++){ if ( randemsoo[k][i] > randemsoo[k][j] ){ h = randemsoo[k][i]; randemsoo[k][i] = randemsoo[k][j]; randemsoo[k][j] = h; } } } void randem_x(int count){ int k; k = 0; make_number(k); } void randem_y(int count, int save){ int i, k; k = 1; while ( save <= count ){ make_number(k); printf("game %d : ",g); for ( i = 0 ; i < max_position ; i++ ) printf("%2d ", randemsoo[k][i]+1); printf("n"); for ( i = 0 ; i < max_position ; i++ ){ if (randemsoo[0][i] || randemsoo[1][i]) break; if ( i == max_position - 1 ) ++save; } ++g; } printf ("복권 %d개를 사서 당첨되었습니다.n", g-1 ); winning_number(); } void winning_number(){ int i; printf("당첨 숫자 : "); for ( i = 0 ; i < max_position ; i++ ) printf("%2d ", randemsoo[0][i]+1); printf("n"); system("PAUSE"); } }}} || Upload:그림파일.jpg || 프로그램을 총 5번돌려봐서 4번다 5천만이 넘어가서 창을 닫고 다시 실행해봤음;; 겨우...... 한번 당첨된....... 리팩토링할때 배열은 어떻게 처리하는지 모르겠어요 -3- 리팩토링이란 말이 있길래 코드를 한 번 봤어요. 배열 리팩토링이란 어느 부분을 말하고 있는지 잘 모르겠지만, 이전에 더 쉬운 리팩토링부터 해나가야 하지 않을까 싶어요. 이를테면 randem_x, randem_y같은 함수는 무슨 일을 하는가요? 하는 일이 너무 많지 않은지 의심해보세요. 코드가 중복되는 부분을 줄여나갈 수도 있겠죠. --[Leonardong] -충고 감사합니다아~~ ㅎㅎ 나름대로 나누어 봤는데 ;; 이게 제대로 인지는 모르겠군요 =_=; 중복 부분만 어떻게 손보면 인제 나름대로 완성입니다 ㅋㅋ 나름대로 완성입니다아~~ T^T 자축 ㅋ 제동이형이 지적해주신거 수정하다가... 실행을 해보니 또 중복이 생기더군요 [.........;] 찾아보니 와일문에서 ( i==6 ) 이라고 조건을 달아서 아예 수행을 못하게 해놨었다는.......;; 암튼 인제 또 수정해서 문제 없심 +_+ ㅋ === 계산기 === {{{~cpp #include #include int main() { int forward, backward, save; char operation; printf ("사칙연산 프로그램입니다.아직은 두개의 숫자만 계산이 가능합니다.n"); printf ("숫자는 최대 11자리까지 가능합니다.n"); printf ("계산 식을 입력하십시오 ex) 12+5n" ); printf ("-->"); scanf ("%d%c%d",&forward ,&operation ,&backward ); save = 0; switch(operation) { case '+': save = forward + backward; break; case '-': save = forward - backward; break; case '*': save = forward * backward; break; case '/': save = forward / backward; break; default : printf ("사칙연산만 입력하세요"); } printf ("답 : %dn",save); system("PAUSE"); return 0; } }}} 숫자 두개뿐이 연산을 못하지만 나름대로 계산기라는;; === 로또 === {{{~cpp /**************************************************************** * * * 로또 복권 번호 자동생성기 프로그램입니다. * * 만든 날자 : 5월7일 * * 만든 이 : 정수민 * * 만든 목적 : 실습 * * * ****************************************************************/ #include #include int main() { int count, save, randem[6], i, j; srand((unsigned)time(NULL)); printf("n== LOTTO RANDOM NUMBER GENERATOR ==nnEnter the game count : "); scanf("%d", &count); printf("n========================nn"); for ( save = 1; save <= count; save++) { printf("GAME %d : ", save); for ( i = 0 ; i < 6 ; i++ ) randem[i] = rand()%(45); /*중복돼는 숫자를 없앱니다.*/ for ( i = 0 ; i < 6 ; i++ ) { for ( j = i+1 ; j < 6 ; j++ ) while(randem[i] == randem[j]) randem[i] = rand()%(45); printf("%2d ", ++randem[i]); } printf("n"); } printf("n========================n"); system("PAUSE"); return 0; } }}} === 점수입력 === {{{~cpp /************************************************************ * * * 점수를 입렵받아 총점과 평균 순위를 매기는 프로그램입니다.* * 만든 이 : 정수민 * * 만든 날자 : 5월7일 * * 만든 목적 : 실습 * * * ************************************************************/ #include #include int main() { int input_score, i, max, min, sum = 0, compare, *score; float agv, team; printf("과목수를 입력하세요 n --> "); scanf("%d", &input_score) ; score=(int*)malloc(sizeof(int)*input_score); /*점수를 입력하는 부분 입니다.*/ for( i = 0 ; i < input_score ; i++ ){ printf("Enter a number for score[%d] : ", i); scanf("%d", &score[i]); sum += score[i]; } printf("n[ The contents of score array ]n"); for( i = 0 ; i < input_score ; i++ ){ printf("%3d", score[i]); } /*점수의 총합과 평균, 최고점수,최소점수를 구하는 부분입니다.*/ team = sum; agv = (team / input_score); max = score[0]; min = score[0]; for( i = 0 ; i < input_score ; i++ ){ if (max < score[i]) max = score[i]; if (min > score[i]) min = score[i]; } printf ("n sum=%d, agv=%.1fnn max=%d, min=%dn",sum ,agv, max, min); /*순위를 매기는 부분입니다.*/ for( i = 0 ; i < input_score ; i++ ){ int j, k; /*동점일경우 들어갈 순위에서 높은 숫자로 순위를 매깁니다.*/ k=1; for( j = 0 ; j < input_score ; j++ ) if (score[i] < score[j]) k++; printf("nscore[%d] : %d, rank = %dn", i, score[i], k); } system("PAUSE"); return 0; } }}} ---- [홈페이지분류], ZeroPagers