반응형

컴퓨터 공학/C++ 31

C언어 - int형의 정규분포를 취하는 난수 값 생성 및 배열에 저장하기 소스 코드

아래의 소스코드는 C언어에서 int 형 데이터의 정규분포를 취하는 난수 값을 생성 및 배열에 저장하는 소스코드입니다. 참조 : http://mwultong.blogspot.com/2006/10/c-gaussian-gaussian-random-numbers.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #include #include #include #include #include #define N 1000 //The number of data #define RANGE 100000 //The range of data double gaussianRandom(void..

[C/C++] C++과 SQLite 연동하기

SQLite는 오픈소스 파일 DB입니다. API도 간단해서 쉽게 사용할 수 있습니다. SQLite를 간단하게 설치하고 CppSQLite라는 래퍼 클래스를 이용하여 제어하는 방법을 제공합니다. 다운로드 - SQLite 다운로드 : http://www.sqlite.org/download.html 에서 최신버젼을 받아서 압축 해제하면 exe파일이 하나 나옵니다. 설치파일은 아니니 그냥 압축해제만 해놓으시면 됩니다. - CppSQLite 다운로드 : http://www.codeproject.com/database/CppSQLite.asp 에서 최신 버젼을 받습니다. 압축해제하면 나오는 폴더중에 Common 폴더만 프로젝트 폴더로 복사합니다. 사용준비 - 프로젝트를 생성하시고 Common폴더에 있는 CppSQLi..

C언어로 파워볼 당첨 시뮬레이터 만들기

간단하게 콘솔을 이용하여 파워볼 당첨 확률을 만들어 보았습니다. 이번 파워볼 당첨 금액은 $960 million 입니다. 한화로 1조 1천만원 정도 됩니다. 11월 부터 당첨된 사람이 없어서 당첨금이 계속 이월되었다고 합니다. 한국의 나눔로또보다 당첨 확률이 많이 낮습니다. 69개의 하얀 공 중 5개를 뽑고, 26개의 빨간 공 중 하나를 뽑습니다. 따라서 의 확률을 갖습니다. 약 입니다. 이 값을 계산하면 의 경우의 수를 갖게 됩니다. 292,201,338 이억 구천 이백 이십만 천 삼백 삼십 팔 가지 수 입니다. 처음 프로그램을 실행하면 한 번 추첨할 때 몇 개를 도전할지, 즉 얼마치 살지를 정하는 겁니다. 티켓 한 장에 2달러를 한다고 합니다. 갯수를 입력하면 당첨될 때까지 무한히 반복합니다. 시각화..

[C언어]파일 입출력 - 사용자 추가, 수정, 검색, 출력하기

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

[공유] 씹어먹는 C 언어 - <24. 더 빠르게 실행되는 코드를 위하여 (C 코드 최적화)>

출처 : http://itguru.tistory.com/129 안녕하세요 여러분~ 이제 저의 마지막 강의(총 41 강)가 되겠네요 ㅎㅎ 그럼, 오늘도 강의를 시작해 볼까요? 혹시 1 강 부터 시작해서 여기까지 도달하신 분이라면 http://itguru.tistory.com/notice/126#/ 에 가셔서 자유 게시판에 꼭 글을 남겨주시기 바랍니다~ 우리의 컴퓨터는 무한정 빠르지 않습니다. 따라서 동일한 작업을 시키더라도 어떠한 방식으로 시키냐에 따라서 그 속도가 엄청나게 차이가 나게 됩니다. 우리는 언제나 코드를 만들 때 '과연 어떻게 해야지 이 작업을 가장 빠르게 할 수 있도록 코드를 만들 수 있을까?' 를 고민 해야 합니다. 이렇게 똑같은 일이라도 더 빠르게 수행할 수 있도록 코드를 짜는 행위를 '..

[퍼옴] 정말 C는 C++보다 빠를까?

갑자기 kldp.org에서 많은 레퍼러가 잡혀서 뭔 일인가 싶어서 들어가봤다. 어떤 분이 정말 C가 C++보다 빠른지에 대한 의문을 제기했다. 이 기회에 잘못된 미신을 타파하고 C++ 가상함수에 대해 좀 더 정확하게 알아보자. 다 좋은데 밑줄 친 문장이 자신의 의견이나 느낌이면 문제 없다. 그런데 저렇게 단정적인 표현을 쓰려면 객관적인 자료가 필요하다 가상 함수 호출에 드는 비용이 정말 미약하다는 데이터를 달라는 것이다! 일단, 글 쓰신 분은 두 가지 문제점을 제기했는데 내가 볼 땐 결국 하나다. 1번에서 제기한 "클레스 설계에 따른 잦은 함수 호출에 드는 비용"은 다소 모호하다. 클래스 설계로 인해 과도한 가상 함수 사용이라면 성능에 문제가 될 수 있지만, 일반 클래스 함수들을 호출하는데 부가적인 비용..

C++ 파일 입출력

C++에서의 파일 입출력을 위하여 fstream.h를 포함하고, 어떤 방법으로 파일을 열어야 하는지를 정하는 파일 입출력 객체를 만들고, 그 객체에게 화면에서와 마찬가지로 입출력 연산을 수행시키면 됩니다. 파일을 열 때 주로 사용하는 속성들은 다음과 같습니다. 속성 내용 ios::in 읽기 가능한 형태로 파일을 연다. ios::out 쓰기 가능한 형태로 파일을 연다. ios::ate 파일을 열 때, File Pointer의 위치를 파일의 끝부분으로 이동시킨다. ios::app 파일을 쓸 때, 파일의 끝부분에 쓰게 한다(app은 append의 약자다) ios::trunc 파일의 내용을 지우고 연다.(trunc는 trucate의 약자이다) ios::binary 파일을 이진 모드로 연다. 읽기를 위한 파일을 ..

C++, cout의 조작자

printf함수와 마찬가지로, cout에서도 입출력 형식을 편하게 제어하기 위한 조작자들이 제공됩니다. 여기서 조작자란 우리가 자주 사용하게 되는 출력 형태를 우리가 직접 관여하지 않고 쉽게 바꿀 수 있도록 해주는 기능을 하는 것 입니다. 조작자 내용 endl 뉴라인(엔터) 문자를 출력하여 스트림을 비운다. flush 스트림을 비운다. dec 10진수 형식으로 출력한다. hex 16진수 형식으로 출력한다. oct 8진수 형식으로 출력한다. setbase(int base) base에 해당하는 진수로 출력한다. setw(int width) 너비를 width로 설정한다. setposition(int pos) pos에 해당하는 자리수로 설정한다. setfill(char c) C에 해당하는 문자로 빈자리를 채우도..

반응형