본문 바로가기

C언어5

[C++]Function Template 이번에 볼 것은 Tmeplate이다. 얘기도 많이 듣고 책 같은 곳에서 많이 보아는 왔지만 막상 쓰라고 하면 어떻게 써야할지 잘 움직이던 손가락이 멈추는 경험을 해보셨을꺼라 빈다.(나만 그런거면 억울하니까~ - 3-) 우선 Template은 어떨때 쓰는거냐하면 예를 들어 똑같은 동작을 하는데 변수 타입만 다른경우가 있을 때 쓴다. 예를 들어 파라미터로 int형 2개를 넘겨줘서 2개의 곱도 구해야하고 double형 2개를 넘겨줘서 2개의 곱을 구해야 하는 함수가 필요하다고 하자. 이럴때 Template를 사용하면 굳이 2개의 함수를 별도로 만들 필요가 없다. 그럼 간단한 예를 하나 보면... 123456template // typename이 반드시 T일 필요는 없다. 단, 모두 같은 변수 이름을 써야만 한.. 2009. 7. 18.
7/14수업 C언어의 개략적인 내용 강사 : 박근여 강의 기간 : 7/14 ~ 8/1 (3주) 홈페이지 : http://myshe.realmind.net 강의실 : Q동 102호 오늘부터 "완벽 C언어 프로그래밍"이라는 강좌를 시작했다. 첫 강의라 그런지 굉~~장히 기초적인 것부터 시작을 했다. visual C++ programing 여는거 부터 시작해서 기타 등등등... 이 수업을 들어보고 괜찮다면 C++ OOP까지 듣고 아니면 혼자서 공부를 하자. 혼자서 공부하는게 얼마나 될지느 모르겠지만. 오늘 들은 강의 내용은 이렇다. 1. C언어의 대략적인 구성. 2. printf()함수 표준 입출력 함수이며 "stdio.h"를 기술해 줘야 한다. 변환문자와 제어문자 옵션을 사용할 수 있다. [제어문자] \n : New line, 줄바꿈 \r :.. 2009. 7. 6.
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.
10진수를 2진수로 변환하는 코드 아는 형의 권유로 아무생각 없이 만든 코드이다. 하는 일은 unsigned int형을 받아서(범위 : 0~4294967296, 단 int가 4바이트인 컴퓨터에서...) 2진수로 출력하는 형태이다. 아무 생각 없이 짤려면 아무생각 없이 만들수도 있었지만 왠지 자꾸 무의미한 메모리 할당이 싫어서 동적할당을 사용하였다. C++만 하다 C로 동적할당을 하려고 하니 이것도 쉽지 않았지만 가장 불편했던 것은 cout을 못쓰고 printf를 써야했던 점이다... 뭐 경우에 따라서는 printf가 편하기도 하지만 대체적으로 사용의 편의성에는 cout이 났다. printf는 표현의 편의성이 뛰어나지만... 아무튼 아래는 코드다. #include #include #include void main() { char* bana.. 2009. 3. 4.