CPP
Posts
32 posts[C++]Magic square
#include "pch.h"#include using namespace std; void magic(int n){ const int MaxSize = 51; int square[MaxSize][MaxSize], k, l; if ((n > (MaxSize)) || (n < 1)) { cerr << "Error! Out of Range!" << endl; return; } else if (!(n % 2)) { cerr << "Error! n is even" << endl; return; } for (int i = 0; i < n; i++)
[C++] 표준 라이브러리를 사용하여 숫자 세 자리마다 쉼표 붙이기
※ 이 기능을 숫자 형식(numeric format)이라고 하겠다. 출처는 MSDN |매우 많은 목적으로, 숫자를 표기할 때 세 자리마다 쉼표를 붙인다. MSDN에서는 숫자 형식이라고 하던데, 표준 명칭인지는 모르겠다. 일단 이 문서는 해당 단어를 사용한다. 우선 숫자 형식에 대해 알아보자.한국에서는 당연하게 정수부에 1000 단위로 쉼표를 붙이고 소수점을 표시하기 위해 정수부가 끝나고 마침표를 찍는다. 하지만 독일에서는 반대다! 1000 단위로 마침표를 찍고, 소수점을 표시하기 위해 쉼표를 찍는다. 대체로 프로그래밍을 배우는 초기 단계에서 해당 기능을 구현해봤겠지만 이런 보편적인 기능은 왠지 표준에 있을 것 같다. 그런 생각을 하고 찾아보니 정말 있더라. 국가나 문화에 따라 달라지는 것이 있다.
[C++] 특정 멤버 함수가 있는지 판별하기(std::declval을 사용하여)
템플릿 인자에 특정 함수가 있는지 확인하고 싶을 때가 있다. 예를 들어, 입력이 들어오면 정수를 반환하는 단순한 템플릿 클래스를 구현하려고 한다. template int GetVal(Ty val) { return (int)val; } 이 때 primitive type(char, short, int, long, float, double…)이 아닐 경우에는 컴파일이 실패하지만, length() 함수가 있으면 그 값을 반환하게 하고 싶다. 예시로, std::string의 경우부터 처리해보자. 템플릿 특수화(TemplateSpecialization)을 사용하여 처리한다. template <> int GetVal(std::string val) {
슈퍼 스피드 레이서 클래식
'가장 잘난 운전사'는 안드로이드용의 2D 탑 뷰 레이싱 게임입니다. 화면만 봐도 '아! 로○○이터!' 하겠습니다만, 실제로는 훨씬 더 클래식 게임인 스피드 레이스/슈퍼 스피드 레이스의 클론에 가깝습니다. 스마트폰을 가로로 잡고 왼손으로 핸들링을, 오른손으로 브레이크와 변속기어를 조작하면 됩니다. 처음 주어지는 플레이 시간은 60초, 시간이 0이 되는 시점에서 최고속도를 유지하고 있으면 6초씩 시간이 늘어납니다. 달리면 점수를 얻을 수 있고, 점수를 누적하면 차례로 새로운 자동차 스킨과 배경을 얻을 수 있습니다. 20종류의 스킨과, 배경 5종류를 준비하고 있습니다. 이론적 밸런싱 단계에서의 계산상으로는 24~28시간 정도 플레이하면 모든

