본문 바로가기

C++ in Windows

Visual C++ 재배포 패키지 exe 파일이 실행되지 않을 경우. 프로그램을 제작한 환경에 맞게 재배포 패키지를 설치해주면 된다. Visual Studio 2005용 Visual C++ 재배포 패키지(SP1) Visual Studio 2008용 Visual C++ 재배포 패키지(SP1) Visual Studio 2010용 Visual C++ 재배포 패키지 Visual Studio 2012용 Visual C++ 재배포 패키지 더보기
[콘솔] 로또 번호 추출. 응용1. 저번주 로또 추출기 결과를 보고 응용한 프로그램을 만들어보았다. 저번주에 기존에 나온 번호로 조합했을 경우 당첨되는 경우가 있었다.3게임에서 6개 번호가 다 나왔지만, 게임당 2개씩 나와 5등도 안되는 결과였다. 그래서 기존 3게임의 번호로 테이블을 만들어.그 테이블 안에서 6개 번호를 추첨해 2게임의 번호를 만드는 추출기를 만들었다. 5게임중 앞에 3게임은 테이블에 따로 저장해주고,2게임은 테이블에서 추출해서 번호를 만든다. 10게임일경우에는 앞에 3게임 저장, 2게임 추출, 3게임 저장, 2게임 추출의 형식을 따른다. 이번주를 기대해봐야겠다. (어차피 안될놈은 안된다.) #include #include #include #include #include #include using namespace std.. 더보기
[콘솔] 로또 번호 추출 오늘 급 로또를 사려 하는데 번호를 고르기 난감해서. 간단하게 콘솔로 만듬. #include #include #include #include #include #include using namespace std; void main (void) { int num = 0; srand(time(NULL)); printf("원하는 로또 갯수를 입력하세요.\n> "); scanf("%d", &num); vector numbers; vector::iterator itFind; for(int i = 0; i < num; i++) { for(int n = 0; n < 6; n++) { int rnd; retry: rnd = rand() % 45 + 1; itFind = find( numbers.begin(), numbe.. 더보기
[Tip] 배열 사이즈 계산 배열의 사이즈 계산시 아래 전처리문을 사용하면 편할듯.#ifndef countof #define countof(array) (sizeof(array)/sizeof((array)[0])) #endif 더보기
[Qt] 한글 출력 Windows에서 작업하던 소스를 Linux나 Mac에서 컴파일해서 실행시키면 가장 먼저 한글 출력 문제에 직면한다. (필자는 그러했다.) ... #include int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec::setCodecForLocale(QTextCodec::codecForName("eucKR")); MainWindow w; w.show(); .... return a.exec(); } ... 위 처럼 QTextCodec 로 로컬 언어를 설정해줄수가 있다.꼭 한국어가 아니더라도 다국어 지원 프로그램을 제작할때 필요한 부분이라 생각한다. 더보기
[좋은글] ISO C와 ISO C++의 차이 원본글(클릭) 신성국(Seong-Kook Shin)님께서 David R. Tribble 씨의 허락을 받아 번역한 글입니다. 더보기
ICPC 대비 문제 9. 유쾌한 점퍼(Jolly Jumpers) 문제 9. 유쾌한 점퍼(Jolly Jumpers) PC/UVa ID: 110201/10038, 인기도: A, 성공률: 보통, 레벨: 1 >> 문제 n개의 정수(n>0)로 이루어진 수열에 대해 서로 인접해 있는 두 수의 차가 1에서 n-1까지의 값을 모두 가지면 그 수열을 유쾌한 점퍼라고 부른다. 예를 들어 다음과 같은 수열에서 1 4 2 3 앞뒤에 있는 수자 차의 절대 값이 각각 3, 2, 1이므로 이 수열은 유쾌한 점퍼가 된다. 이 정의에 따르면 중수 하나로 된 수열도 유쾌한 점퍼다. 어떤 수열이 유쾌한 점퍼인지 판단할 수 있는 프로그램을 작성하라. >> 입력 각 줄 맨 앞에는 3,000 이하의 정수가 있으며 그 뒤에는 수열을 나타내는 n개의 정수가 입력된다. >> 출력 입력된 각 줄에 대해 “Joll.. 더보기
ICPC 대비 문제 8. 호주식 투표법(Australian Voting) >> 문제 8. 호주식 투표법(Australian Voting) PC/UVa ID: 110108/10142, 인기도: B, 성공률: 낮음, 레벨: 1 >> 문제 호주식 투표 제도에서는 투표권자가 모든 후보에 대해 선호도 순으로 순위를 매긴다. 처음에는 1순위로 선택한 것만 집계하며 한 후보가 50% 초과 득표하면 그 후보가 바로 선출된다. 하지만 50% 초과 득표한 후보가 없으면 가장 적은 표를 받은 후보(둘 이상이 될 수도 있음)가 우선 탈락된다. 그리고 이렇게 탈락된 후보를 1순위로 찍었던 표만 다시 집계하여 아직 탈락되지 않은 후보들 가운데 가장 높은 선호도를 얻은 후보가 그 표를 얻는다. 이런 식으로 가장 약한 후보들을 탈락시키면서 그 다음 순위의 아직 탈락하지 않은 후보에게 표를 주는 과정을 5.. 더보기
ICPC 대비 문제 7. 체크 확인(Check the Check) >> 문제 7. 체크 확인(Check the Check) PC/UVa ID:110107/10196, 인기도: B, 성공률: 보통, 레벨 1 >> 문제 체스판 설정을 읽어서 킹이 공격받고 있는지(체크 상태인지) 확인하는 일을 해야 한다. 상대방의 다음 수에 의해 킹이 죽을 수 있는 위치에 있으면 킹이 체크 상태가 된다. 흰 말은 대문자로, 검은 말은 소문자로 표시된다. 흰 편은 항상 판의 아래쪽에, 검은 편은 판의 위쪽에 자리잡는다. 체스를 잘 모르는 사람들을 위해 각 말의 이동 방법을 설명하자면 다음과 같다. 폰(Pawn, p 또는 P): 한 번에 한 칸씩 앞으로만 갈 수 있다. 하지만 대각선에 있는 상대 말을 잡을 수 있으며 이 문제에서 이 부분에 주의해야 한다. 나이트(Knight, n 또는 N): .. 더보기
set 실습 2 간략한 도서관리 프로그램. set 실습 여기에서 클래스 추가하고, 내부 조금 수정한 프로그램이다. #include #include #include #include #include #include using namespace std; class BookCase { public: string isbn; string name; string amount; BookCase(const string & pIsbn, const string & pName, const string & pAmount ) : isbn(pIsbn), name(pName), amount(pAmount){ } void DataView(){ cout 더보기