본문 바로가기

Computer & Program/잡다한 이모저모55

예제50 : 기억클래스 #include int reset(), next(int), last(int), now(int); int i=1; void main() { auto int i, j; i = reset(); for(j=0; j 2009. 3. 4.
다차원 배열의 예제 #include void prn(int k[][2]) { int j; for(j=0; j 2009. 3. 4.
const함수 사용 예 #include void main() // const { // const 특징 // 1. 변경 불가 // 2. 초기화 필수 const int a=10; // 초기화 안해주면 에러 //a=20; // 변경 불가이기 때문에 에러 printf("%d\n", a); } 2009. 3. 4.
#define, 매크로 사용 예 // 첫번쨰 예제 #include #define PI 3.14 #define MAX(x,y) (x>y) ? x : y //macro 함수와 상수는 복사의 의미를 가지고 있다. void main() { int a=123, b=456; printf("PI=%lf\n", PI); printf("The Max is %d\n", MAX(a,b)); } // 두번째 예제 #include #define SWAP(x,y) {int t; t=x; x=y; y=t;} // x와 y를 바꿔주는 함수. void main() { int a=5, b=10; printf("a=%d\tb=%d\n", a, b); SWAP(a,b); printf("a=%d\tb=%d\n", a, b); } // 세번째 예제 #define SQU(x).. 2009. 3. 4.
구조체, 공용체 종류 및 예 //단순 구조체 #include struct score{ char name[20]; int kor, eng, mat; }; typedef struct score Score; void structPrint(char*, int, int, int); void main() { Score sd = {"Hong gil dong", 80, 90, 100}; structPrint(sd.name, sd.kor, sd.eng, sd.mat); } void structPrint(char *cp, int i, int k, int j) { printf("%s : %d, %d, %d\n", cp, i, k, j); } // 중첩 구조체 #include struct AA{ int a; long b; }; struct BB{ int.. 2009. 3. 4.
구조체를 통한 링크드 리스트의 예 #include struct AA{ int a; struct AA *p; // 이것이 바로 링크드 리스트!! // 즉 그 구조체에 관한 주소값을 가지고 있는 것이다. }; void main() { struct AA x, y, z; struct AA *i; x.a = 10; y.a = 20; z.a = 30; x.p = &y; y.p = &z; z.p = NULL; struct AA k; k.a=40; k.p=y.p; y.p=&k; x.p=&k; for(i=&x; i != NULL; i=i->p){ printf("%d\n", i->a); } } 2009. 3. 4.
문자열 출력 예 // 첫번째 예제 #include void main() { FILE *fp; char ch; fp = fopen("c:\\sample.txt", "r"); // sample.txt로 부터 Read(r) while(1){ ch=fgetc(fp); if(ch==EOF) // 문장의 끝까지 break; printf("%c", ch); } fclose(fp); } // 두번때 예제 #include //문자열로 출력 void main() { FILE *fp; char ch[100]; // 여유있게 100byte읽어 옮 fp = fopen("c:\\sample.txt", "r"); while(1){ fgets(ch, 100, fp); // fp에서 100byte만큼 읽어서 ch에 저장 2009. 3. 4.
이름과 숫자 1~4까지의 답 10개를 입력 받아 O,X 표시 및 평균 및 최고득점자와 최소 득점자 출력하는 로직 // 이름과 숫자 1~4까지의 답 10개를 입력 받아 O,X 표시 및 평균 및 최고득점자와 최소 득점자 출력하는 로직 #include #include #include #define Read "c:\\saram.txt" // 데이터가 저장되어 있는 파일 #define Wirt "c:\\result.txt" // 결과값을 저장할 파일 int max=0, min=100; // max는 커져야 함을 0이고 min은 작아져야 함으로 100이다. double avg=0; struct AA // 사람 이름과 답을 저장해 놓은 구조체 { char name[10]; char num[11]; }; void result(char *); // 데이터를 받아 계산한 후 result.txt로 저장하는 함수 void menu(ch.. 2009. 3. 4.
포인터 #include // 포인터의 포인터 예제 char *c[]={"ENTER", "NEW", "POINT", "FIRST"}; char **cp[]={c+3, c+2, c+1, c}; char ***cpp=cp; void main() { printf("%s\n", **++cpp); // PIONT printf("%s\n", *--*++cpp+3); // ER printf("%s\n", *cpp[-2]+3); // ST printf("%s\n", cpp[-1][-1]+1); // EW } // 단순한 포인터 예제 void main() { int x, y; int *px, *py; x=5; px=&x; y=*px/2+10; py=&y; printf("x : %d, y : %d\n", x, y); // 5, 1.. 2009. 3. 4.
이름과 점수를 입력받아 관리하는 프로그램 #include #include #include #define DataFile "c:\\data.txt" void menu(); void input_sub(); void append_sub(); void search_sub(); void view_sub(); struct AA{ char name[20]; // 이름 저장할 배열 int kor, eng, tot; // 국어, 영어, 총점 double avg; // 평균 }; void main() { char ch; while(1){ menu(); ch = getche(); // 문자하나를 받아 ch에 저장 switch(ch){ case '1' : input_sub(); break; case '2' : append_sub(); break; case '3' :.. 2009. 3. 4.
KMP 알고리즘... #include #include #include #include using namespace std; class KMP { private : char array[200], pat[10]; // array는 비교할 문자열, pat는 찾을 문자열 int temp; // 비교할 문자의 실패함수의 현재 값 int f_pat[10]; int i, k; // 함수 제어의 필요한 함수 int n, l; // n은 찾을 문자열의 길이 l은 비교할 문자열의 길이 public : KMP() { temp=-1, i=0, k=0; for(i=0; i input(); } void KMP::makefaile() { int val=0, p=0; // val은 실패함수에 들어갈 값이고 p는 함수 제어 변수이다. int j=1, i;.. 2009. 3. 4.
마방진~ Magic square #include class Magic { private : int row, col; // 2차 배열의 가로와 세로 값 int ro, co; // 변환시 가로와 새로 값 int **p; // 2차 동적 배열의 포인터 public : // 생성자 Magic(){ row=col=0; ro=co=0; } //소멸자 ~Magic(){ delete[] p; } void select(); // 초기 선택문 void evefun(int i); // 짝수 4의 배수 구현 함수 void oddfun(int i); // 홀수 구현 함수 void printout(int i); // 출력 함수 void change(int i); // 홀수 마방진의 이동 제어 함수 void swap(int i, int k, int n); // .. 2009. 3. 4.