sacnf 함수의 리턴 값 의미

gg.c

이 하나의 예제로 scanf 함수의 리턴 값의 의미를 알 수 있다.



실행 결과


실행 결과로 알 수 있듯이, 서식문자에 합당한 값이 정확히 들어오면 그에 맞게 몇개가 정확히 들어왔는지 그 개수를 리턴해준다.




'Programming > C' 카테고리의 다른 글

void pointer 예제  (0) 2013.09.18
Bit Field  (0) 2013.02.15
Bit Mask  (0) 2013.02.15
시간과 날짜 관련 함수들  (0) 2013.02.15
난수 (Random Number)  (0) 2013.02.15
Posted by scii
:

3n+1 문제

Programming/C++ 2013. 3. 27. 14:54 |


어떤 수열을 만들어내는 다음과 같은 알고리즘을 생각해보자. 어떤 정수 n에서 시작해 n이 짝수면 2로 나누고, 홀수면 3을 곱한 다음 1을 더한다. 이렇게 해서 새로 만들어진 숫자를 n으로 놓고 n=1 이 될 때까지 같은 작업을 계속 반복한다. 

예를 들어, n=22 이면 다음과 같은 수열이 만들어진다.

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

아직 증명되진 않았지만 모든 정수 n에 대해 이 알고리즘을 적용시키면 결국에는 n=1 에 이르게 되는 것으로 추측된다. 그리고 이 가설은 적어도 1,000,000 까지의 정수에 대해서는 참이다. 

n이라는 값이 입력되었을 때 1이 나올 때까지 만들어진 수의 개수를 n의 사이클 길이(cycle-length) 라고 한다. 


문제가 이것이였다. 그래서 Linked-List 자료구조로 한번 만들어 보았다. 여기 문제에서는 1백만번까지의 정수에 대해 참이라고 해서, 한번 2백만번까지 돌려보았다. 2백만번 까지도 참이었다. 그 이상은 안해보아서 모르겠다. 

그리고, 결과 값을 보니 중첩되는 숫자가 없어 혹시나해서 몇번이고 테스트를 해보았다. 신기하게도 중복되는 숫자가 없었다. 

오오~ 아직은 어느 상황에서 쓰면 좋을 지 감이 잘 오지않지만, Houdini에서 중복되는 숫자가 없어야 하는 상황에서 이 알고리즘을 적용해서 쓰면 괜찮겠다는 생각이 든다.


DLinkedList.cpp

DLinkedList.h

ques.cpp

 


실행 결과

과과






The_three_algorithm.c


'Programming > C++' 카테고리의 다른 글

const 객체와 const 객체의 특성성  (0) 2013.08.13
복사 생성자의 완벽한 이해  (0) 2013.08.12
List 자료구조로 만든 프로그램  (0) 2013.03.20
namespace (이름 공간)  (0) 2013.03.17
template을 이용한 inline 함수  (0) 2013.03.17
Posted by scii
:


범블비로 설정한 우분투 환경에서 optirun bash 명령 후 houdini를 실행시키니 아이콘이 없어지는 현상이 일어났다. 

구글링 검색 후 찾은 해결 방안:

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=23427

맨 마지막 러시아 사람이 쓴 글에서 해결했다.


Posted by scii
:


centos 를 받으면 4.1기가 정도된다. 근데 그 정도의 usb를 가지고 있지 않다.

그래서 url 방식으로 network install을 진행하였다. net install을 진행하려면 당연히 인터넷이 되어야 한다. (LAN 선 꽂혀있어야 함)


centos 6.4 버전을 기준으로 작성함.

필자의 저장소:

C 드라이브(128GB) SSD -> Windows 7 설치되어있음.

D 드라이브(100GB) HDD -> 여기에다 CentOS 설치.



CentOS ISO Download & ISO To USB


1. centos를 설치하려면 iso가 있어야 한다. 

centos iso download:

http://www.centos.org/

여기 들어가서 미러사이트 아무곳이나 가서 netinstall 파일을 받는다.



2. centos iso 파일을 USB에 담을 수 있게 만드는 프로그램이 있어야 한다. 여러가지가 있지만, CentOS를 할 때는 이것이 좋은듯하다.

ISO2USB download:

http://iso2usb.sourceforge.net/

위의 url에서 받던지, 밑의 파일을 받던지해서 프로그램을 실행한다.

iso2usb-v0.7.zip


ISO2USB 프로그램으로 CentOS Install:



3. BIOS에서 USB로 첫 번째 부팅을 셋팅한 후 재부팅하면

어떻게 설치할 지 묻는다. 그냥 제일 첫 번째 것으로 선택 후 진행하면 된다.






USL설정 후 net install


1. Language: English



2. Keyborad Type: us 를 선택해야 영어, 한국어가 된다.



3. 인스톨 방식에 대해 묻는다. 미러사이트를 통해 Net Install 을 하려는 것이기 때문에 URL을 선택한다.



4. URL 방식을 선택하면, 네트워크 설정을 해야 하는데 Enalbe IPv6 support 을 해제하고 ok를 누른 후 진행한다.

IP 주소 공간인데 공유기를 사용하거나 내부 네트워크 환경이 구축 되어있다면 보통 IPv4 DHCP를 선택하면 된다.

IPv6 를 설정 하는 유저는 할당된 IPv6 에 맞는 IP를 설정하면 된다.

만약, 잘 모르겠다 싶으면 Enable IPv4 support 만 선택하고 Dynamic IP configuration을 선택 후 진행하면 된다.



5. 세번째 것이 잘 되었다면 URL 셋업 화면이 나온다. 여기서 아래 주소만 적고 ok누르면 된다.

http://mirror.centos.org/centos/6.4/os/x86_64/



6. 위의 작업이 모두 완료되면 본격적인 Net Install이 시작된다.





CentOS 본격적인 설치


1. Net Install이 완료된 후, 설치 시작!! 



2. 컴퓨터 이름이다. 영어로 써야 함. 그리고 루트 계정 암호를 설정하고 넘어간다.



3. Create Custom Layout을 선택하여 사용자가 파티션을 수동으로 나눌 수 있도록 한다.



4. C:\는 SSD이다. 그리고 여기에는 Windows 7이 설치되어있다. 필자는 D:\ 1000GB HDD에 CentOS를 설치할 것이다.

설치할 D드라이브를 Delete를 눌러 free space로 만든다. 그 다음, Create 를 눌러서 Standard Partition을 클릭하여 진행한다.



5. 리눅스에 swap은 꼭 필요하다. 일단 가장 먼저 swap 파티션을 나눠준다. swap 공간은 ram이 모자랄 때 물리적공간을 설정한 만큼 떼어내어 그 만큼을 ram처럼 쓰는 메커니즘이다. 보통 자기 램의 1~2.5 배 정도를 할당해준다. 

필자는 본인 램크기의 2배를 할당하여 주었다. (32기가 할당)



6. Root 파티션을 나눠준다. 보통 15기가 정도만 할당하지만, 필자의 HDD 용량이 크므로 100기가를 할당하여 주었다.



7. 리눅스는 swap공간과 /(root) 만 할당해주어도 된다. 하지만 필자는 /home 디렉토리 파티션을 할당해주었다.

나머지 공간을 /home 디렉토리에 모두 할당 해 주려고했기때문에 Fill to maximum allowable size를 체크 후 진행하였다.



8. 파티션을 모두 나눈 모습



9. 그냥 Default로 하고 넘어간다.



10. 그래픽 모드(X-Window) 를 사용하려면 Desktop 을 선택 후 진행하여야 한다.

그리고 다운받을 패키지를 지금 선택하려면, Customize now를 선택하고 진행한다.



11. 설치 완료 후 CentOS로 부팅한 모습


Posted by scii
:


PPA 로 프로그램 설치


기치치존에 사용하던 프로그램이 이미 업데이트 되었는데도 기다려야 한다면, 얼마나 아쉬울까~!!

그것을 해결하는 것이 바로 PPA 이다. 

즉, 출시 된 지 얼마 안되어서 '우분투 소프트웨어 센터'에 등록되지 않은 프로그램을 설치하는데 가장 편리하고 좋은 방법이다.

PPA 는 개발자들과 열성적인 사람들이 모든 우분투 유저들에게 최신버전을 제공하는 것을 허락하는 저장소이다.

PPA = Personal Package Archive 의 약자.


사용 방법:

만약, 설치하고 싶은 프로그램이 있는데, 아직 안나왔다. 근데 쓰고싶다. ppa를 이용한다!!

어느 곳을 갔더니, ppa:sadf/ss-ppa 가 눈에 띈다. 

그렇다면, 다음과 같이 명령어를 입력하여 설치를 할 수 있다.

$ sudo add-apt-repository ppa:sadf/ss-ppa       =>     ppa:sadf/ss-ppa 저장소 추가하는 명령.

$ sudo apt-get update                                            =>     최신 버전을 다운받아야 하니, 프로그램들을 업데이트 시키는 명령.

$ sudo apt-get install ss                                          =>     저장소에 다운받은 것을 설치하는 명령.

sudo add-apt-repository 다음에 원하는 ppa 이름을 추가해주면 된다. 이 명령은 apt 저장소를 추가하는 명령이다.





PPA 로 설치한 프로그램 삭제


ppa로 설치한 프로그램을 삭제하는 것은 조금 복잡하다. 패키지도 삭제해줘야하고 저장소도 삭제해줘야 하기 때문이다.

이런 문제를 간편하게 해결하기 위해서는 'ppa-purge' 패키지를 설치해서 사용하면 된다.


설치 방법:

$ sudo apt-get install ppa-purge


사용 방법:

사용방법은 ppa를 처음 등록했던 저장소명을 입력하면 된다.

$ sudo ppa-purge ppa:저장소 명

ex) $ sudo ppa-purge ppa:asdf/ppa


만약, 완전히 삭제되지 않는 프로그램이 있다면 추가로 다음과 같이 명령한다.

$ sudo apt-get autoremove --purge 프로그램 명

ex) sudo apt-get autoremove --purge nateon


혹은,

$ sudo apt-get remove 프로그램 명


Posted by scii
:


https://launchpad.net/~kyu419/+archive/nateon-ppa/+packages

여기로 들어가서 아래 사진과 같이 파일을 받으면 된다. 




확장자가 deb 면, 윈도우즈의 exe 파일과 같은 것이다. 그래서 쉽게 설치할 수 있다. 더블 클릭하면 설치된다.



'Linux > Ubuntu' 카테고리의 다른 글

CentOS처럼 우클릭으로 터미널 열기  (0) 2014.02.01
[Ubuntu] PPA 의 사용법  (0) 2013.03.23
Ubuntu 12.04 설치 후 설정들  (0) 2013.03.15
Ubuntu 12.04 설치 후 부팅 문제  (0) 2013.03.15
나의 .bashrc 파일 설정  (0) 2012.12.06
Posted by scii
:

Vundle for Linux

Vim/Plug-Ins 2013. 3. 21. 15:53 |


리눅스에 번들을 설치하는 것은 윈도우에서 설치하는 것보다 간단하다!!


1. 번들을 사용하기 위해서는 git 을 설치해야 한다.


2. 번들을 다운받는다.


3. .vimrc 파일을 수정한다. My Bundles here: 부분은 내가 쓰려는 것들을 넣은 것이기 때문에 생략해도 된다.


원문 : https://github.com/gmarik/vundle

'Vim > Plug-Ins' 카테고리의 다른 글

[EXAMPLE] YouCompleteMe - .ycm_extra_conf.py  (0) 2016.03.03
vim 유용한 플러그인 셋팅  (0) 2016.02.25
Vundle for Windows  (0) 2013.02.20
Plug-in 모음  (0) 2013.02.05
VIM 자세한 설정  (0) 2013.01.15
Posted by scii
:

자료구조 복습 겸, C++ 복습 겸해서 한번 만들어 보았다.


account.cpp

account.h

List.cpp

List.h

main.cpp


list header file

list source file


account header file

account source file


main file


실행 결과


'Programming > C++' 카테고리의 다른 글

복사 생성자의 완벽한 이해  (0) 2013.08.12
3n+1 문제  (0) 2013.03.27
namespace (이름 공간)  (0) 2013.03.17
template을 이용한 inline 함수  (0) 2013.03.17
C++ Language의 창시자 홈페이지  (0) 2012.11.29
Posted by scii
: