E D R , A S I H C RSS

정수민

05학번 정수민 입니다


Profile


중앙대학교 컴퓨터공학부 /// 기타등등등...

목표


편하게 살자!

진행중


편하게 살기위한 계획!

방명록

- 말을 여따 남겨줘요 - 정수민

프로잭트


ㅋ 지금보면 미숙한부분이 너무 많은데;;; ㅋ; 이제와 수정할수도 없고 -_-;;

RUR


데블스캠프2005/RUR-PLE/정수민

완성이다아~~~ >.<)/
자축자축 ㅋㅋㅋ

미로찾기


미로찾기/정수민

이놈 때문에 고생한거 생각하면 -_-;;;

피보나치수열


피보나치/정수민,남도연

이것도 그렇저렇 힘들었는데 -_-;;

마름모 출력


마름모출력/정수민

파이쏜으로 만든거라는 -_-v

ReverseAndAdd


ReverseAndAdd/정수민

꽤나 난이도 있었지만 선배님들이 해놓은걸 참고해서 풀어나간 -_-!!! 파이쏜으로 했는데 문법이 뭔가 쉬운듯하면서 어렵다는;;;

하노이탑


~cpp [..............]

꼭!!! 만들꺼야!!! ㅠ.ㅠ

구구단



~cpp 
#include <stdio.h>
#include <stdlib.h>

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 <stdio.h>       
#include <stdlib.h>       
  
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");   
} 
   
그림파일.jpg
프로그램을 총 5번돌려봐서 4번다 5천만이 넘어가서 창을 닫고 다시 실행해봤음;;
겨우...... 한번 당첨된.......

리팩토링할때 배열은 어떻게 처리하는지 모르겠어요 -3-
리팩토링이란 말이 있길래 코드를 한 번 봤어요. 배열 리팩토링이란 어느 부분을 말하고 있는지 잘 모르겠지만, 이전에 더 쉬운 리팩토링부터 해나가야 하지 않을까 싶어요. 이를테면 randem_x, randem_y같은 함수는 무슨 일을 하는가요? 하는 일이 너무 많지 않은지 의심해보세요. 코드가 중복되는 부분을 줄여나갈 수도 있겠죠. --Leonardong
-충고 감사합니다아~~ ㅎㅎ 나름대로 나누어 봤는데 ;; 이게 제대로 인지는 모르겠군요 =_=; 중복 부분만 어떻게 손보면 인제 나름대로 완성입니다 ㅋㅋ

나름대로 완성입니다아~~ T^T 자축 ㅋ

제동이형이 지적해주신거 수정하다가... 실행을 해보니 또 중복이 생기더군요 .........; 찾아보니 와일문에서 ( i==6 ) 이라고 조건을 달아서 아예 수행을 못하게 해놨었다는.......;; 암튼 인제 또 수정해서 문제 없심 +_+ ㅋ

계산기



~cpp 
#include <stdio.h>
#include <stdlib.h>

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 <stdio.h> 
#include <stdlib.h> 


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 <stdio.h>
#include <stdlib.h>

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

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.1006 sec