SML (Simpletron Machine Language) http://www.dreamincode.net/forums/topic/276073-simpletron/ 당신자신의 초간단 컴퓨터 시뮬레이터 Simpletron을 만들어 보자 Simpletron 컴퓨터는 이 컴퓨터가 이해하는 기계어 SML (Simpletron Machine Language)로 짜여진 프로그램만 이해하고 실행할 수 있다. Simpletron는 가산기(accumulator)라고 불리는 한개의 범용 레.. c·c++/c++ 프로그래밍 2014.07.23
next_permutation http://wordaligned.org/articles/next-permutation template<typename Iter> bool next_permutation(Iter first, Iter last) { if (first == last) return false; Iter i = first; i+=1; if(i==last) return false; i=last; i-=1; for(;;) { Iter ii = i; i-=1; if(*i < *ii) { Iter j = last; while(!(*i < *--j)) { } std::iter_swap(i, j); std::reverse(ii, last); return true; } if(i==fi.. c·c++/c++ 프로그래밍 2014.07.22
next_number http://wordaligned.org/articles/next-permutation 주어진 수에 대해서 현재 숫자들만 사용해서 다음에 나오는 수를 구한다. 이런 수가 없다면 0을 추가해서 다음에 나오는 수를 구해준다. 1의 다음 수는 1만 사용해서는 구할 수가 없다. 따라서 0을 추가해 준다. 이때 0이 아닌 수 다음 수에 0을 삽입한다.. c·c++/c++ 프로그래밍 2014.07.22
C++에서 STL 사용하지 않고 가변배열 만들 수 없나요? // 빠르고 메모리 낭비가 적은 가변배열을 만들어 봅니다. #include <iostream> #include <string> using namespace std; class SimpleStringArray { //define private member functions private: int size1; // 1st array size; int size2; // 2nd array size; int index; // next index string** table; // array public: // 초기화를 하면 크기 size2만큼의.. c·c++/c++ 프로그래밍 2014.07.16
Fraction Class // File: ex6-5.cpp http://voyager.deanza.edu/~bentley/cis27_examples/ex6-5_cpp.htm #include <iostream> #include <cassert> using namespace std; class fraction { int numer, denom; public: fraction(int = 0, int = 1); void operator!(void) const; // print the fraction fraction& operator~(void); // reduce the fraction fraction operator-(void) const; // negative of fracti.. c·c++/c++ 프로그래밍 2014.05.12
bool 형에 대해서 #include <iostream> using namespace std; int main(void) { bool a, b, c, d; // bool 형은 0, 1의 값만 가지는 enumeration type이다. a=(1<2)+(2<3); // 1을 넘는 수에 대해서는 int에서 bool로 가면서 잘린다는 메시지가 뜬다. b=(1<2)+(2<3)-1; c=(1<2)+(2<3)-2; d=(1<2)+(2<3)+2; // 1을 넘는 수에 대해서는 int에서 bo.. c·c++/c++ 프로그래밍 2014.04.02
longest common substring #include <iostream> #include <string> using namespace std; int LongestCommonSubstring(const string& str1, const string& str2) { if(str1.empty() || str2.empty()) { return 0; } int *curr = new int [str2.size()]; int *prev = new int [str2.size()]; int *swap = nullptr; int maxSubstr = 0; for(int i = 0; i<str1.size(); ++i) { for(int j = 0; j<str2.size(); ++j) { if.. c·c++/c++ 프로그래밍 2014.03.31
파일의 글자수 세기 #include<iostream> #include<fstream> using namespace std; int main() { char finname[80]; char ch; int b2=0, b1=0, space=0; cout << "\nEnter input file name: "; cin >> finname; ifstream fin(finname); while(fin.get(ch)) { cout<<ch; if(ch&128) { b2+=1; fin.get(ch); cout<<ch; } else { if(ch==' ') { space+=1; } else { b1+=1; } } } fin.close(); co.. c·c++/c++ 프로그래밍 2013.11.09
zigzag 왜이렇게 쓸데없는 과제를 내어주는지 모르겠다. #include <iostream> using namespace std; void zigzag(int tile_i[][10], int size); int main() { int dk, da, db, dx, delta; int i, j, k, a, b, size; int tile[10][10]={0,}; cout<<"size: "; cin>>size; cout << "-원본 배열" << endl << endl; i=0; k=0; a=0; b=0; da=0; db=1; dx=-1;.. c·c++/c++ 프로그래밍 2013.10.22
최대공약수 구하기 #include <iostream> using namespace std; int main() { int a, b, x, y, r; cout<<"2정수: "; cin>>a>>b; x=a; y=b; r=x%y; while(r!=0) { x=y; y=r; r=x%y; } cout<<a<<","<<b<<"의 최대공약수="<<y<<endl; return 0; } c·c++/c++ 프로그래밍 2013.10.05