personal/story 2006. 6. 17. 17:43

오늘 친구와의 대화...

옼플군은 나와 생년월일이 같은 친구다.

참.. 특이한 정신세계을 가지고 있는데,

오늘 대화를 정리하다보니, 나도 만만치 않다는걸 느꼈다.

옼플: 잌 너 책 많이봐?
잌군: 왜?
옼플: 흠..
옼플: '교도소명'교도소의 하루 라는 책이있는데 교도소명을 몰라서 뭔 책인지 못찾는중 orz.. 지금 한시간째야 T^T
잌군: "00교도소의 하루? "라는 책이있다고?
옼플: 어 외국 고전소설
잌군: 그거 찾기가 힘든가;
옼플: 검색하면 책이 너무많이나와서 찾아볼 엄두가안나 ㄷㄷㄷ
잌군: =_=a... 없는데?
옼플: -_- 그바
잌군: ....; 외국소설이야?
옼플: 어, 외국고전소설
잌군: 우리학교 도서관에도 "교도소"로 검색해도 외국소설은 없는데?
옼플: ㅡ.ㅡ;;; 아니삼.. 있으삼
잌군: jailbird?
옼플: -_-;
잌군: 흐음....
옼플: 설마.. 도스토예프스키!!?
잌군: .;;
옼플: 설마 교도소가 아니라 감옥이라면 울어버릴거야
잌군: 도스토예프스키로 찾아봤는데 그딴거 없어
옼플: 그럼 도스아저씨도아닌건가 ㅡ.,ㅡ
잌군: 아.... 설마 수용소의 하루 아냐?
옼플: 허어억!! 수용소라니!!
잌군: 이반 데니소비치의 소용소의 하루
옼플: 아, 신발.. 그거였냐.. ㅡ,.ㅡ
잌군: 삐리리~
옼플: 도스아저씨도아니었네... 어제 술마시면서 들어서 가물가물했나봐 orz
옼플: 오오오~ 땡큐베리캄사~

'personal > story' 카테고리의 다른 글

나 벌 받나 보다.  (0) 2006.07.03
나라고 안아프겠냐...  (0) 2006.06.28
나는 비겁합니다.  (0) 2006.06.28
아이구 이놈의 변기.. 웰빙은 아무나하나~  (4) 2006.06.23
난감한 대화  (0) 2006.06.20
난 보면 진다.  (4) 2006.06.13
미적분 공식 정리  (9) 2006.06.09
어제 길을 가다가 이상한사람을 만났다.  (0) 2006.05.23
Up & Down 놀이~  (1) 2006.05.22
왜?  (0) 2006.05.21
photos & drawings 2006. 6. 15. 15:26

오늘 하늘은...

가끔 나는 하늘 사진을 찍는다.

청명하게 맑은 하늘도 좋고, 노을이 지는 하늘도 좋지만,

난 어느정도 구름이 약간은 낀, 하지만 그 틈새로 파란 하늘이 보이는 그런 하늘이 좋다.



[SECRET]
Q:당신의 필명은? (영어 소문자)
A:bono
무례함을 무릅쓰고 한번 수정해봅니다.

[/SECRET]

'photos & drawings' 카테고리의 다른 글

[무료바탕화면] 남한산성  (4) 2007.08.06
수원화성  (3) 2007.05.22
남자와 여자  (2) 2007.05.12
캔버스를 이용한 사진벽 제작 및 설치기  (0) 2007.02.14
지하철 여행기  (2) 2006.07.29
방을 치운 후 기념샷!  (0) 2006.07.19
올림픽공원  (4) 2006.07.02
하늘공원  (3) 2006.06.29
신이여 날 도우소서  (0) 2006.06.28
예전에 만들었던 디지털 이미지들...  (0) 2006.06.24
personal/food 2006. 6. 15. 15:25

노란수박

본인은 수박을 너무나도 좋아한다.

얼마만큼 좋아하냐 하면은, 밥대신 수박을 준다고 해도 한 3박 4일간은 수박으로 대신한다고 해도 OK.일정도?

수박맛바는 가장 좋아하는 아이스크림이고, 수박맛 캔디도 그렇고..

난 수박이 너무나 좋다. ㅠㅠ


어쨋든, 수박을 사가지고 왔다.

수박을 반으로 쪼개려고 칼을 쑥~~ 하고 넣었는데, 느낌이 뭔가 심상치 않다.


쫙~~ 하고 갈라지는 순간...

헉......



노란수박이잖아!!!!!



예전에 어디선가 노란수박을 개발했다고 들었는데, 황금 키위니 이런건 들어봤어도, 황금수박일줄이야..

뭐 말이 좋아야 황금수박이지, 노란색의 수박은 왠지 맛이 없을것 같았다.


하지만 의심의 눈초리로 한입 배어먹어본 순간.

.
.
.
.
.
.
.
.
.
.










젠장할....

역시 맛이 없자나!~!!!!



역시 사람들이 오리지날 찾는건 다 이런 이유였음 이리라..

하지만 역시 수박을 좋아함에 서리까지 만들어 뒀다.

'personal > food' 카테고리의 다른 글

델리만쥬  (3) 2007.05.16
어제는 랍스타를 오늘은 병어회를...  (4) 2007.04.17
만두 빚기  (2) 2007.01.21
이것만은 절대로 양보못해!  (0) 2006.12.29
무한리필이여 내게로 오라!  (1) 2006.09.03
알밥 만들기  (6) 2006.07.08
밥이 먹고싶다  (4) 2006.06.03
카후나빌 방문기  (0) 2006.05.20
난 빵을 참 좋아한다.  (2) 2006.02.17
공짜피자 당첨!~  (0) 2005.12.26
personal/story 2006. 6. 13. 23:41

난 보면 진다.



사실 난 운동경기엔 관심이 없다.

어렸을때부터 땀흘리며 뜀박질을 하는 것도 별로 좋아하지 않았고...

게다가 무슨 경기든 어떻게 된 일인지 보기만 하면 꼭 지게 되더라.


지난 WBL때도 어디 다들 시끌벅적하니까 한번 볼까, 했더니 졌다.

지난 2002 월드컵때도 안보고 있다가 하필 시청에 나갔는데 져버렸다.



게다가 더더욱 이 사실을 확신시켜주는 것은

방금 한국과 토고전을 잠깐 보는순간 골을 먹었다...


덧.. 그래서 안봤는데 안보는동안 2골이나 넣었다.;; ㄷㄷㄷ

'personal > story' 카테고리의 다른 글

나라고 안아프겠냐...  (0) 2006.06.28
나는 비겁합니다.  (0) 2006.06.28
아이구 이놈의 변기.. 웰빙은 아무나하나~  (4) 2006.06.23
난감한 대화  (0) 2006.06.20
오늘 친구와의 대화...  (0) 2006.06.17
미적분 공식 정리  (9) 2006.06.09
어제 길을 가다가 이상한사람을 만났다.  (0) 2006.05.23
Up & Down 놀이~  (1) 2006.05.22
왜?  (0) 2006.05.21
벚꽃과 갈림길  (0) 2006.04.18
personal/story 2006. 6. 9. 11:50

미적분 공식 정리

미적분의 공식 정리

'personal > story' 카테고리의 다른 글

나는 비겁합니다.  (0) 2006.06.28
아이구 이놈의 변기.. 웰빙은 아무나하나~  (4) 2006.06.23
난감한 대화  (0) 2006.06.20
오늘 친구와의 대화...  (0) 2006.06.17
난 보면 진다.  (4) 2006.06.13
어제 길을 가다가 이상한사람을 만났다.  (0) 2006.05.23
Up & Down 놀이~  (1) 2006.05.22
왜?  (0) 2006.05.21
벚꽃과 갈림길  (0) 2006.04.18
Digital Fortress 128-10-93-85-10-128-98-112-6-6-25-126-39-1-68-78  (3) 2006.04.17
personal/food 2006. 6. 3. 23:37

밥이 먹고싶다

밥이 먹고싶다...
밥을 먹은지 오래되었다.




1일째: 저녁은 간단하게 STEFF핫도그로..

2일째: 아침은 빵한조각, 점심은 굶고 저녁은 햄버거

3일째: 아침을 굶고 점심은 라면, 저녁도 라면

4일쨰: 아침 굶고 점심 샌드위치, 저녁 햄버거와 닭꼬치

5일째: 아침은 늦게 일어나서 패스, 점심은 짜장면과 탕수육, 저녁은 삼각김밥

....


OTL (밥이 먹고싶어 ㅠ0ㅠ)

'personal > food' 카테고리의 다른 글

델리만쥬  (3) 2007.05.16
어제는 랍스타를 오늘은 병어회를...  (4) 2007.04.17
만두 빚기  (2) 2007.01.21
이것만은 절대로 양보못해!  (0) 2006.12.29
무한리필이여 내게로 오라!  (1) 2006.09.03
알밥 만들기  (6) 2006.07.08
노란수박  (4) 2006.06.15
카후나빌 방문기  (0) 2006.05.20
난 빵을 참 좋아한다.  (2) 2006.02.17
공짜피자 당첨!~  (0) 2005.12.26
geek_stuff/today 2006. 6. 1. 23:00

HSBC의 OTP (One time password) device.

속눈썹님의 블로그에서 트랙백: http://ilashman.cafe24.com/5393

OTP (One Time Password) Device라는것이 인터넷 뱅킹에서도 사용이 되고 있네요.
One Time Password란 한번만 사용할 수 있는 패스워드로, 보통 로그인 방식이 매번 같은 id와 같은 password를
사용하는 방식이라면 OTP는 이런것이죠.

처음로그인할때: 너 이름이 뭐지?
패스워드: 이코요

두번째로그인할때: 너 키가 몇이지?
패스워드: 1xx cm요

세번째로그인할때: 너 몸무게가 몇이지?
패스워드: xx kg요
One Time Password의 예


이렇게 매번 다른질문으로 사용자에게 질문을 하면 사용자는 그에 맞는 password를 입력함으로서
다른사람이 합법적 유저가 한 행위를 똑같이 반복함으로서 인증수단이 무효화되는 것을 방지하려는 거죠

오늘 속눈썹님의 블로그에서 재미있는 글을 봤습니다. HSBC의 OTP라고 해서 뭔가하고 봤는데...



HSBC의 OTP Device

이렇게 생긴 장치더군요. 속눈썹맨님의 궁금해 하신건

과연 이 device가 자체적으로 통신을 해서 HSBC와 password를 주고 받느냐 인데..

결론부터 말씀드리자면 "제 생각엔 아닙니다." 입니다.

만일 OTP라는게 One Time Password의 줄임말이라면 말이죠..



HSBC의 홈페이지에 가보니 OTP를 맨처음 사용할 때 뒤에있는 바코드의 일련번호를 입력해서 등록하는게 나오는데, 이것은 각각의 device에 저장된 6자리 password의 목록일꺼라 생각됩니다.

OTP의 일련번호: 0001
OTP 0001이 생성할 수 있는 번호 및 순서 100001, 300003, 600006, 200002, 400004

OTP의 일련번호: 0002
OTP 0002가 생성할 수 있는 번호 및 순서 500005, 700007, 900009, 800008, 100001
로그인 서버에 저장된 OTP관련 내용들(가정)

이런식으로 서버에 저장이 되어있겠죠, 꼭 번호가 다 틀리지 않아도 순서만으로도 다른 OTP가 만들어 질 수 있는겁니다. 하지만 그것도 어느정도의 범위가 지정되어 있겠죠, 앞뒤 50개사이에는 각각의 OTP가 같은 값을 가질수 없다 라던지 하는...

그리고 여러번 눌러놓고도 패스워드가 다 입력이 가능했다는것은 사용자의 실수를 만회하기 위해서 어느정도 여유를 둔것 같네요, 마지막 입력한 패스워드의 앞뒤 10개정도면 입력해도 받아들일수 있도록 말이죠...

어디까지나 제 생각입니다만..ㅋ 궁금하신게 해결되셨나 모르겠네요.


여담입니다만, 저게 통신이 가능하다면 아마 은박지로 쌓아놓으면 전파가 방해되어서 사용이 불가능할겁니다.
아니면 핸드폰이 처지지않는 지하라던지, 이런곳에서는 통신이 된다면 동작이 불가능 하겠죠.

하지만 결국 통신을 하지 않는다면 저 OTP는 버튼을 누를때마다 이미 저장되어있는 번호를 순차적으로 보여주는 장치라는 것밖에 되지 않는다는 거죠. 아주 약간의 메모리(6.56Mb: 하지만 이것은 0부터 999999까지 모든수를 저장했을때)와 버튼 스위치 하나, 그리고 메모리에 있는것을 액정에 표시하는 회로만으로 구성되어져있는 싸구려 장치이라는겁니다. 사실 무슨은행이 이런거에다가 통신이 되는 걸 집어넣겠습니까.. 쓸때마다 돈나오고 은행측에서는 유지비가 장난이 아닐듯 싶은데요.ㅎㅎ

geek_stuff/today 2006. 5. 31. 09:20

Linear Shifted Array Generator

Linear Shifted Array Generator by !kKo

output_file<<((end-start)/shift)+1<<endl; // number of entries...

int j=0;
for (int i=start; i<=end; i=i+shift) // making array
{
  array[j++]=i;
}
 
//  Uncomment the following line to display the whole array.
// for (i=0;i<(end-start)/shift;i++){cout<<array[i]<<" ";} cout<<endl;
 
for (i=shift;i<=(end-start)/shift;i++) // writing to file
{
  output_file<<array[i]<<" ";
}
for (i=0;i<shift;i++) // writing to file
{
  output_file<<array[i];
  if(i<shift-1) output_file<<" ";
}
output_file<<endl;

Download Full Source Code
fun & cool 2006. 5. 29. 19:47

판타지 개그

웹을 돌아다니다가 판타지 개그라는것을 발견..

아.. 너무 웃기다 ㅠㅠ



Can't display this flash media




출처: http://blog.naver.com/doremi123

다음 시리즈들은 이곳에서: http://blog.naver.com/post/postList.jsp?blogId=doremi123&categoryNo=69&cpage=12&viewdate=

'fun & cool' 카테고리의 다른 글

아이~ 좋아~♡  (1) 2006.07.09
혈액형별 활동시간  (5) 2006.07.03
야르찹차의 진실!  (1) 2006.07.02
두여자쇼.. 그리고 YouTube.com  (1) 2006.06.29
이천수 낚시기사의 희생양이었다!!!!!!!  (0) 2006.06.18
자신만의 소설을 만들어보자  (1) 2006.05.29
인터넷 노래방  (0) 2006.05.27
구글? Gogle? Google? Gooogle?  (0) 2006.05.25
집에있는 컴퓨터들을 다 합한다면?  (0) 2006.05.20
데이비드 체스터필드  (0) 2006.05.14
fun & cool 2006. 5. 29. 03:18

자신만의 소설을 만들어보자

http://home.megapass.co.kr/%7Ejes9077/story.htm

예전에도 자신만의 소설을 만드는 곳이 몇몇 있었는데, 이곳이 가장 재미있어 소개해봅니다.

근데.. 새벽 3시까지 안자고 있는 난 뭐지?
fun & cool 2006. 5. 27. 19:00

인터넷 노래방

인터넷을 돌아다니다가 발견한건데 최신곡은 없지만 나름대로 할만한것이...


노래방!!




심심할때 한곡 뽑아보는것도 좋을듯-ㅋ
http://www.hangok.com/digital_player/midi.asp?npmid=oppll06
geek_stuff/today 2006. 5. 27. 10:55

Tistory 초대권 응모관련...

사실... 제가 저번 포스팅에도 말씀드렸다 시피 홈페이지 주소를 남겨달라고 부탁드렸는데

몇몇 분들이 그냥 이메일 주소만 적어놓고 가셨더군요..

물론 남겨주신 분도 많으시지만 대부분 다른분의 초대를 이미 받으신 상태구요.

어제 12시 반까지 기다리다가 그냥 잤는데, 방금 확인해보니 초대기능이 다시 활성화가 되었습니다.

친구에게 한장을 보냈기 때문에 아직 초대권이 3장이 남아있습니다.



초대기능의 선 기능을 다하기 위해서 남겨주시는 댓글분들의 홈페이지나 블로그를 한분한분 모두 둘러보고

초대를 해 드릴 예정입니다. =_= (무슨 제가 뭔 감투를 쓴 마냥;; )

뭐... 어떻게 생각하면 기분나쁘실 수도 있겠지만 저는 테터의 팬이고 또한 태터의 발전을 위해서라는 명분(?)아래

베타테스팅을 한다는 것을 감안해주시면 좋겠습니다.^^


이전글에 코멘트를 남겨주신분들에게는 죄송하지만 현재 글에 달린 코멘트에만 초대를 할 예정입니다.

선착순은 아니고, 다만 홈페이지(또는 블로그 주소)와 이메일 주소를 남겨주시면 되겠습니다.

(홈페이지/블로그 주소 안남겨주시면 당첨확율 0% 이므로 꼭 주소를 남겨주세요~)


5/26 18:48 현재 남은 초대장 갯수: 3

5/26 19:18 현재 남은 초대장 갯수: 2

5/26 22:10 현재 남은 초대장 갯수: 1

5/27 10:57 현재 남은 초대장 갯수: 0

'geek_stuff > today' 카테고리의 다른 글

티스토리 초대권 2장 쏩니다!  (12) 2006.07.14
티스토리 추천블로그?  (1) 2006.07.13
맥북을 지를까..  (3) 2006.06.21
HSBC의 OTP (One time password) device.  (3) 2006.06.01
Linear Shifted Array Generator  (0) 2006.05.31
Tistory.com Beta에서의 첫 글  (3) 2006.05.26
1kko.com 블로그의 변천사  (0) 2006.05.21
자료구조 과제 #3  (0) 2006.05.10
자료구조 과제 #2  (0) 2006.05.10
자료구조 과제 #1  (0) 2006.05.10
geek_stuff/today 2006. 5. 26. 00:09

Tistory.com Beta에서의 첫 글

어떻게 해서 당첨되어서 한 40분을 기다렸군요=_=

jihwang**@gmail.com이 다른 이메일일까 하고 생각해봤습니다만...

a~z, 0~9까지 각 글자단위당 26+10개, 총 36개의 조합이 가능하며 이것이 두자리 이므로
36의 제곱=1296 의 각기 다른 조합이 있다는것을 계산하여 알아보고 나선;;;

대략 절망.... ㅠㅠ

하던 상황중 까뜨나 하자 라고 마음을 먹고 페이지를 열려는 찰나...!

아아~~ 떴습니다 ㅠㅠ

Tistory.com에서 귀하를 초대했습니다.
tistory는 멀티미디어 블로깅, 제한없는 저장공간, 나만의 블로그 주소등을 제공하는 블로그 서비스입니다.

아래의 링크를 클릭하시면 tistory 블로그에 바로 입주하실 수 있습니다
http://jihwangyi.tistory.com/....

서비스 이용약관 보기

○ 블로그 주소 : http://jihwangyi.tistory.com
○ 로그인 이메일주소 : jihwang**@gmail.com
○ 비밀번호는 임시로 설정해 두었습니다.
    위의 링크와 연결되어 있는 페이지에서 꼭 변경하시기 바랍니다.
○ 관리자 → 환경설정에서 블로그 주소를 변경해주세요
Tistory 처음부터 시작하기

초대권연결이 원활치 않은경우, 초대URL 에서 마우스 오른쪽버튼을 클릭하신후 '새창에서열기' 하시기 바랍니다.


제 계정에서 파일을 백업해다가 여기에 올리니 스킨이 다른걸로 바뀌어 버리는군요-ㅋ

스킨 수정기능은 아직 없는듯 싶습니다.

그리고 초대기능은 아직 안보이는데요...

여기저기 구석구석 다 눌러봤는데....

음... 제가 못찾고 있는걸지도...


그럼 이전 포스팅에서 리플을 달아주신분들중에 선정하여 초대권을 보내드리겠습니다.^^

'geek_stuff > today' 카테고리의 다른 글

티스토리 추천블로그?  (1) 2006.07.13
맥북을 지를까..  (3) 2006.06.21
HSBC의 OTP (One time password) device.  (3) 2006.06.01
Linear Shifted Array Generator  (0) 2006.05.31
Tistory 초대권 응모관련...  (17) 2006.05.27
1kko.com 블로그의 변천사  (0) 2006.05.21
자료구조 과제 #3  (0) 2006.05.10
자료구조 과제 #2  (0) 2006.05.10
자료구조 과제 #1  (0) 2006.05.10
심심해서 서버 하나를 뚫어봤다.  (0) 2006.05.08
카테고리 없음 2006. 5. 25. 18:59

Tistory의 1차 베타테스터 당첨!

Tistory에 당첨되었습니다!

아아.. 요즘 저는 이런거에 잘 당첨이 되는지..

누가그러던데 이런거 잘 당첨되면 나중에 진정한 행운이 찾아오지 않는다는 그런 미신적인 말을..;;

뭐... 일단 당첨이 되서 기분은 좋습니다.ㅋㅋ

jihwang**@gmail.com이라는데

설마 저랑같은 이메일을 사용하는 사람이 있을까요-ㅋ

주변의 지인을 위주로 일단 초대권을 발행할 예정이지만

혹시나 남으면 두어장정도 뿌리도록 하지요^^;

밑에 코멘트로 이메일 주소와 홈페이지 링크를 남겨주시면 가능한한 테스트를 잘 하실수 있는 분으로

선정하여 보내드리겠습니다. (이유는 테터의 발전을 위해서이죠... 저도 테터를 넘 좋아하는지라...)

이렇게 배포하는건 원래 티스토리의 초대방식의 의도에서 벗어난것이긴 합니다만...

Chester님의 관련 코멘트:
동떨어져 있는 천명이기 전에 서로 좀 아시는 5 명씩 그룹핑이 되시는 것이 시스템의 문제점을 발견하는데 훨씬 수월하기 때문입니다.

"야 ... 너도 이거 이러냐 ??? "
"어..난 안그런데 ??"
"나도 그런데..이거 버그같은뎅 ?? 흠흠.. "

뭐 이런식의 커뮤니케이션이 이루어지기 때문입니다.
그렇기에 따로떨어진 1000 명보다는 200개의 작은팀을 모신 것입니다. 오해없으시기 바랍니다 :)

베타기간동안 끊임없이 기능추가/문제개선이 이루어질 것이며 최단시간안에 모두가 가입하실 수 있도록 시스템을 개선해나가겠습니다.

어쨌든 제 주변엔 이렇다할 분이 4명이 되지 않기때문에 별다른 문제는 없으리라 생각이 됩니다만...(아닌가;;)

뭐 어쨌든 코멘트로 이메일주소, 홈페이지주소를 남겨주시면 최대한 고려해서 보내드리도록 하겠습니다^^;
fun & cool 2006. 5. 25. 16:56

구글? Gogle? Google? Gooogle?

방금 구글에 들어가다가 신기한 것을 발견했습니다.

보통 google.com으로 접속하면 한국어 사이트로 이동을 해서 자동으로 google.co.kr로 변경이 되는데요,

신기한건

http://gogle.com
http://google.com
http://gooogle.com

위의 사이트로 모두다 접속을 해도 똑같이 google.com으로 연결이 된다는거죠.

구우글, 고글, 구글.. =_=ㅋ

재밌군요-ㅎㅎ


10.23 추가: wiziple님의 로 인해 알게 된 사실
http://gogole.com
http://googel.com
http://ogogle.com

이것들도 모두다 구글로;;;

geek_stuff/web & network 2006. 5. 24. 16:52

무료 일본어 번역 사이트

갑작기 일본어 몇마디를 번역하려고 했는데 인터넷에 찾아보니 여러가지가 있더군요

그중에서 제 목적에 가장 부합한 녀석을 찾았는데 저 혼자만 알고 있기가 뭐해서요..ㅋ

http://ocn.amikai.com/amitext/indexUTF8.jsp

일본의 OCN... 영화사이트(=_=..)가 아닌 Open Computer Network이라는 곳에서 제공하는 서비스 입니다.

NTT의 계열사인듯 싶군요-.

번역은 영어, 중국어(간체), 한국어를 일본어로, 또 그 반대도 가능합니다.

한번에 최대 4000자까지 가능하다니까 간단한 문서도 번역이 가능하겠군요.

personal/story 2006. 5. 23. 11:04

어제 길을 가다가 이상한사람을 만났다.

친구를 만나러 가는 중이였다.

비는 주륵주륵내리고 덕분에 바지는 다 젖고...

그러나 친구를 만나러 간다는 즐거움에 룰루랄라 발걸음을 빨리하고 있는데

갑자기 스쳐지나가던 어떤 한사람이 갑자기 되돌아와서는 날 붙잡고는 하는 말:

..
..

"영문(靈門)을 아십니까?"

ㅡㅡa 문득 시계를 보았다. 아..  시간이 좀 남아있구나..


사실 나는 지난 5년동안 한 세번정도 걸려봤다. 예전에는 일부러 접근까지 하기도 했지만

이제는 그네들은 그들의 삶이라는 것이 있기에 그저 즐기려고 한다.


내가 여유가 있는듯한 표정을 하자 신나서 떠들어 댄다.
..

"... 그래서 제가 이런쪽으로 공부를 좀 많이 했는데 복을 받을 물꼬를 트실수 있는분이 각 가문마다 한명씩 계신데 님이 바로 그분이세요. 그리고 이건 종교가 아니고요, 왜 보통 차례를 지내는 것도 옛 전통이고 그래서..."

그러면서 점점더 내쪽으로 다가온다.  =_=+

난 내 개인적인 영역에 내가 모르는 누가 들어오는것을 매우 싫어한다.

어디선가 읽었던 기억이 있는데 아시아인들은 대체적으로 40cm정도가 개인적인 공간으로 인식하고 그 안에 들어왔을경우에는 불편함을 느낀다고 한다. 반면 북미인은 80~90cm이며 반대로 남미인은 30cm정도라고 한다.
내 생각에 내 경우엔 한 60~70cm정도 되는듯 하다.

나는 쏘아붙이듯이,
"그래서 요점이 뭐에요?"

그는 잠시 당황하는 듯 하더니 금세 표정을 바꾸며 말한다.
"요점은 님이 선택받으신 분이고, 영문을 들어보시라는 거죠"

비가오고 있었다는게 가장 큰 이유일 것이다. 15분정도 그 사람의 말을 듣는 동안 바지는 젖어서 무거워졌고 우산도 작아서 내 가방도 어느정도 젖어있었다. 게다가 난 지금 약속시간에 맞추려고 이 사람과 대면하는 거였기 때문에 이제는 그 사람이 필요가 없었다. (쉽게 말하자면 시간 때우기용..=_=;)

"네~ 알았어요 제가 나중에 찾아볼께요"
하고 이제 그만 가려던차에 그사람이 날 가로 막았다.

"지금 안들으시면 안되요. 지금 북문쪽으로 가시면 영문을 들으실수 있구요 지금 약속이 있다고 하셔도 인간적으로는 미안하실진 모르겠지만 나중에 님을 통해서 복을 다 받으실 수 있기때문에..."

난 속으로 코웃음을 쳤다. 세상에 그렇게 절박한 종교가 어디있는가? 종교가 아니라고 말했지만 내가 그렇게 범인이 아닌다음에야 길가던 사람을 붙잡고 이렇게 길게 설명할 수 있는 여유를 가진사람들은 대부분 종교단체들이 하는 행위들이 아닌가.

"아네~ 안되면 어쩔수 없죠"
나의 카운터 어택.

이 불쌍한 청년은 매우 실망한 눈빛으로 나중에 또 뵙자는 둥 이런저런 소리를 하더니 뒤돌아서는 발걸음을 재촉하여 빗줄기 사이로 사라졌다.


집에와서 영문... 영문이라.. 뭘까 하고 네이버신에게 물어보았다.
http://kin.naver.com/db/detail.php?d1id=6&dir_id=603&eid=XoZZg3T0QKSD4eNupNwrpHJwRPRiATbf

이런 삐리리.. 종교가 아니라고 말하더니. 개뿔딱지!

'personal > story' 카테고리의 다른 글

아이구 이놈의 변기.. 웰빙은 아무나하나~  (4) 2006.06.23
난감한 대화  (0) 2006.06.20
오늘 친구와의 대화...  (0) 2006.06.17
난 보면 진다.  (4) 2006.06.13
미적분 공식 정리  (9) 2006.06.09
Up & Down 놀이~  (1) 2006.05.22
왜?  (0) 2006.05.21
벚꽃과 갈림길  (0) 2006.04.18
Digital Fortress 128-10-93-85-10-128-98-112-6-6-25-126-39-1-68-78  (3) 2006.04.17
우리는 더이상 우리가 살던 시대에 살고있지 않다  (0) 2006.04.17
geek_stuff/web & network 2006. 5. 23. 10:39

이메일 이미지 생성방법

예전에 포스팅 해놓은 글인데 언젠가 내 스킨에도 이미지를 추가하리라 생각만 하다가 잃어버린 케이스...

얼마 되지 않는 글들임에도 불구하고 어느샌가 포스팅이 한페이지 뒤로 넘어가 있어서 잊어버리고 있었다.

하지만 최근 스킨에 약간씩의 수정을 가하면서 생각없이 이리저리 뒤지던 도중 내가 써놓은 포스팅 발견...

약간의 수정을 가하여서 (라기보단 그저 머릿말 뿐이지만) ....


쓰려고 했는데!!!
..
..

=_=;;; 이미 같은글이 있다....;;

귀차니즘과 함께 그냥 주소만 덜렁 포스팅 하는 무책임한 결과를 낳았다.

쿨디님의 블로그에서 관련글: http://www.coold.pe.kr/tt/index.php?pl=125



하아... 그렇지만 그냥 다이렉트 링크를 만들어 두었던 나의 노동력이 헛되게 하지 않기를 바라는 마음에..=_=

personal/story 2006. 5. 22. 16:34

Up & Down 놀이~

평소 절친한(?) 친구인 지니님의 싸이월드에서 펌

●나는 이성을 10번 이상 사겨본적이 있다
- down

●내 키는 남자 178 (여자 165) 이상이다
- down

●내 주량은 2병 이상이다
- down

●나는 비밀을 털어놓을수 있는 친구가 7명 이상이다
- down

●나는 하루에 밥을 3끼 이상 먹는다
- down (두끼정도가 아닐까..)

●소개팅을 3번 이상 받아본적이 있다
- down

●나는 집에서 쫓겨나본적이 3번 이상 있다
- down (쫓겨나본적은 없어)

●지금까지 이성에게 고백을 받아본적이 3번이상 있다
- down인가..=_= 난 매력이 없나 ㅠㅠ

●내 전화부에는 80개 이상이 저장되어 있다.
- up

●나는 지금 현재 2만원 이상 갖고 있다
- up

●지금까지 살면서 가장 뚱뚱했을때의 몸무게는 남자 95 (여자 65) 이상이다
- down 아무리 쪄도 55이상은 무리..

●한달 용돈이 30만원 이상이다
- down

●가출 경험이 2번 이상 있다
- up (내딴엔 가출이였는데 아무도 인정을 안해준다=_= 모.. 반나절 가출한건 외출이라나..)

●가장 비싸게 주고 산 옷이 30만원이 넘는다
- down

●현재 내 핸드폰을 2년 이상 사용하고 있다
- down (집에 4년묵은 흑백 폴더는 있는데-ㅋ)

●앞으로 결혼은 30세 이후에 할것이다
- down 이지 않을까...

●내 애인과의 나이차 극복한계는 위 아래로 4살 정도이다
- down (난 동갑이 좋아)

●경찰서 출입을 3번이상 한적이 있다
- down (한번정도..? =_= 오해는 마시라 어렸을적에 길 잃어버렸는데 부모님이 경찰서에서 날 데려왔다더라..)

●헌팅을 당해본적이 3번 이상 있다
- down (헌...팅... 당해보고 싶어 ㅠㅜ)

●다룰줄 아는 악기가 2개 이상 있다
- up (그냥 기타, 드럼..정도?)

●내 장점을 3가지 이상 말할수 있다
- up

●현재 죽여버리고 싶은 사람이 5명 이상이다
- down (그냥 좀 없어졌으면 좋겠다는 사람은 가끔 있었지만 지금은 zero)

●목숨과도 바꿀수 있는 친구가 1명 이상이다
- down (내가 짱이야=_=)

●살면서 거짓말을 해본적이 5번 이상있다
- up (이건 대부분의 사람이 up일듯..)

●1년에 머리 스타일을 3번이상 바꾼다
- down

●하루에 흡연량은 한갑 이상이다
- down (안펴)

●자신의 이상형을 1번이상 만나본적이 있다
- up (지니말대로 이상형일뿐...=_=)

●키스를 5번 이상 해본적이 있다
- up (이거 중학교 앙케이트 같다=_=)

●주위로부터 괜찮게 생겼다는 소리를 3번 이상 들은적이 있다
- down (개성있다는 말은 많이 듣는다..ㅠㅠ)

●내 얼굴중 고치고 싶은 부분이 3군데 이상 있다
- down (생긴대로 사는거지 사는데 지장이 있거나 연애인이 아닐바에야=_=)

●최근 한달동안 울어본적이 3번 이상 있다
- down

●나는 애인이 아닌 그냥 이성친구가 3명 이상 있다
- up  (좀 많다)

●나는 친구한테 배신당해본적이 3번 이상 있다
- down

●나는 죽고싶은적이 2번 이상 있다
- up (자아가 완전히 형성되기 이전에 좀 많이 그랬다. 하지만 이젠 아냐)

●지금까지 이성에게 해준 선물중 가장 비싼것은 10만원 이상이다
- up

●이성에게 차여본적이 2번 이상있다
- down (차인건지 찬건지 구분안가=_=)

●술먹고 필름 끊겨본적이 3번 이상 있다
- down (한번도 없다)

●피자를 large크기로 5조각 이상을 먹을수 있다
- down (예전엔 많이 먹었는데 요새는 max 4조각;;)

●우리집에서 바퀴벌레를 2번 이상 본적이 있다
- up (가끔 휴지로 눌러준다=_=.. 바그작;;)

●길에서 시비가 붙어 싸워본적이 3번 이상 있다
- down (한번도 없다)

●누군가를 1시간 이상 기다려 본적이 있다
- up (하염없이 기다린다=_=)

●이 문제에 답하는데 1시간 이상 걸렸다
- down

'personal > story' 카테고리의 다른 글

난감한 대화  (0) 2006.06.20
오늘 친구와의 대화...  (0) 2006.06.17
난 보면 진다.  (4) 2006.06.13
미적분 공식 정리  (9) 2006.06.09
어제 길을 가다가 이상한사람을 만났다.  (0) 2006.05.23
왜?  (0) 2006.05.21
벚꽃과 갈림길  (0) 2006.04.18
Digital Fortress 128-10-93-85-10-128-98-112-6-6-25-126-39-1-68-78  (3) 2006.04.17
우리는 더이상 우리가 살던 시대에 살고있지 않다  (0) 2006.04.17
jihwang.org입니다.  (0) 2006.04.12
geek_stuff/today 2006. 5. 21. 23:47

1kko.com 블로그의 변천사

내 블로그/홈페이지의 변천사:

98년 포탈에서 html 하드코딩으로 첫 홈페이지 제작 : xoom.com/~jihwang

<처음 만든 홈페이지 대문>
지금 봐도 별로 누추해보이지는 않는다-ㅋㅋ


01년 zeroboard를 이용한 실험용 개인홈페이지 다수 제작: 개인컴에서 IIS5 를 이용

<처음 캠으로 만든 홈페이지 배경>
블러(Blur)처리를 용서하소서...


02년 php, asp를 모르고서는 제대로된 홈페이지가 나오지 않는다는것을 알고는 한때 좌절...;
      때문에 싸이월드 도토리 왕창 구입.;;

<예전 싸이월드>
예전에는 힛 캡쳐해서 선물달라는 협박도 통했었는데 말이지..


02년말 jihwang.org라는 도메인을 ttpia에서 구입
이런것도 주더라...


04년 군에서 zog를 발견, 이거 테스트한다고 linux서버 구축 및 파일서버 활용
<예전 조그의 모습>

05년 jihwang.org를 zog로 꾸미다가 tattertools를 발견, 이때부터 테터와의 인연 맺어짐
<테터툴즈>
예전에 했던 포스팅을 예전 스킨과 함께...


06년 jihwang.org를 1kko.com으로 바꾸고 블로그 개장

<중간에 모든글을 날릴뻔한 불상사가 있을뻔 했지만 다행히 백업으로 목숨부지..ㅜㅜ>


06년 5월 21일: 77개의 글과 함께 만힛 달성.

<10000번째 힛 기념 스샷>





흠 이제야 겨우 10000힛인가...

'geek_stuff > today' 카테고리의 다른 글

맥북을 지를까..  (3) 2006.06.21
HSBC의 OTP (One time password) device.  (3) 2006.06.01
Linear Shifted Array Generator  (0) 2006.05.31
Tistory 초대권 응모관련...  (17) 2006.05.27
Tistory.com Beta에서의 첫 글  (3) 2006.05.26
자료구조 과제 #3  (0) 2006.05.10
자료구조 과제 #2  (0) 2006.05.10
자료구조 과제 #1  (0) 2006.05.10
심심해서 서버 하나를 뚫어봤다.  (0) 2006.05.08
Apple.com이 윈도우즈를 지원한다?!  (2) 2006.04.06
geek_stuff/server & linux 2006. 5. 21. 15:36

리눅스에서 커널패치 없이 ntfs사용하는 방법

최근 산 NDAS장비 때문에 리눅스에서 커널패치없이 NTFS를 사용할수 있는 방법이 없을까 하고

인터넷을 찾아다니던중 발견한 것!!

http://linux-ntfs.org/
바로 이것이야!~!

'geek_stuff > server & linux' 카테고리의 다른 글

우분투(Ubuntu) 설정 A-Z  (0) 2008.01.22
서버 OS 재설치  (0) 2008.01.22
윈도우와 리눅스 콘솔에서 헷갈리십니까?  (2) 2007.01.20
삼바 서버 멈춤현상  (0) 2006.12.21
APM설치 howto  (0) 2006.06.25
리눅스에서 NDAS장비 사용하는 방법  (0) 2006.05.06
서버포멧! ㅠㅠ  (0) 2006.04.28
흐음.. 이상한 일이다.  (1) 2006.04.04
서버다운...  (5) 2006.03.21
rrdtool을 설치하려고 하는데 잘 안된다.  (0) 2006.03.20
personal/story 2006. 5. 21. 01:29

왜?

왜? 라는 것은 의문형이다.

무언가의 의문을 제기할 때도 왜 라는 의문을 쓸 수 있고

상대방의 잘못을 물을때도 왜 라고 물어볼 수도 있고

어떤 특정한 상황에서 왜? 라고 물어보면 그 뒤에 "어떠어떠 해서인지"가 생략되어있다.

¿por que? pourquoi? 为什么? waarom? γιατί; perchè? なぜか。почему? why?

...

..

.

....................
2006. 5. 20. 22:44

카후나빌 방문기

보호되어있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

fun & cool 2006. 5. 20. 17:01

집에있는 컴퓨터들을 다 합한다면?

HDD
--------------------
서버 80G, 40G
컴1 80G, 80G, 6.4G
컴2 10G
컴3 6.4G
안방 40G
동생 120G
백업 250G
남는거 40G, 40G, 20G, 2G, 1.2G, 340MB, 350MB, 300MB
=================
810.59Gb

Memory
-------------------
서버 512Mb
컴1 1G
컴2 128Mb
컴3 256Mb
안방 384Mb
동생 2G
남는거 16Mbx12
=================
4544Mb

Flash
-------------------
CF-512Mb
  1G
  16Mb
SD-2G
===================
3600Mb

CPU
-------------------
서버 1.5Ghz
컴1 3.0Ghz
컴2 600Mhz
컴3 1.0Ghz
안방 733Mhz
동생 2.8Ghz
남는거 ...pass
==================
9.633Ghz!!!


종합해보면...
CPU: 9.6Ghz
RAM: 4Gb
HDD: 810TB

역시나 말도 안되는 사양인가요-ㅋㅋ

fun & cool 2006. 5. 14. 22:34

데이비드 체스터필드



정말 웃기군요-ㅋㅋ 소리와 함께 어우러지는것이 정말...ㅋㅋ

출처: http://blog.repl.net/funny/2006/05/david-copperfield.html
complains 2006. 5. 12. 02:04

minich는 베타테스터들을 설문조사단체 정도로 알고있다.

얼마전 오픈한 미니채널에서 메일이 왔다. 설문조사를 참여해 달라는데,

이해가 가질 않는다. 베타테스터라고 명분을 달아놓고 우리가 무슨 설문조사하는 단체도 아니고

애초부터 이런식의 성의없는 메일하며 차일피일 미뤘던 오픈일 하며...

난 또 베타테스터라길래 뭔가 일반인들에게 공개하지 않은 다른 서비스가 있는줄 알았는데 웬걸?

어제 가입한놈이나 베타테스터를 신청한놈이나 다 똑같다라는 말이다.

웃긴건 베타테스터가 더 성가신게 이메일와서 읽어보면 설문조사 해달라는거다.

떡밥을 뿌려야 생선도 잡히는 거고, 요즘세상엔 오히려 경품을 줄테니 우리껄 써라 라는 식으로도 하는데

이놈의 미니채널은 이메일부터가 성의없다. 담당자의 말투가 원래 싸가지 없는 건지...

처음엔 설문조사가 왔길래 그냥 안하려고 했다.

내용이 이렇다면 당신은 설문조사를 하고 싶겠는지...

전문평가단 여러분 안녕하세요?
오랜만에 찾아뵙는것 같아요.
벌써 미니채널이 베타 오픈을 한지 3주라는 시간이 훌쩍 흘렀네요.
아직 많이 부족해서 많은 분들의 의견과 관심이 필요하여 처음에 말씀 드렸던 대로  여러분의 소리를 듣고자 합니다.
첨부파일로 받으신 설문지를 작성하여 5월12일 까지 보내주시면 되고요..
자세한 사항은 첨부파일에서 확인하시기 바랍니다.
미니채널 계속 사랑해 주시고 관심 가져 주세요.
좋은 하루 되세요~^^


그래서 기분이 상해서 안하고 있다가 오늘 새로운 이메일이 날라왔다.

안녕하세요.
전문 평가단 여러분~
5월답게 오늘도 날씨가 참 좋네요..

전문평가단이라고 여러분을 모셔놓고, 어떠한 특별한 대우도 없다가 뜬금없이 설문 메일을 보내드려서 대단히 죄송스럽게 생각하고 있습니다.
답변을 보내주신 몇분들도 위와 같은 불만을 솔직하게 얘기해주시더라구요..
그렇지 않아도, 일반 사용자보다 먼저 관심을 보여주시고,
전문 평가단으로 신청해주신 여러분을 그동안 너무 방치(?)해두고 있어서
솔직히 좀 많이 찜찜해하고 있었습니다.
누구보다도 여러분의 의견이 굉장히 중요할 것을 알기에 무례하기 짝이 없게 설문지를 요청드렸습니다.
너무 죄송스럽게 생각하구요
여러분의 답변에 대한 가장 큰 보답은 미니채널을 여러분의 의견을 바탕으로 더 새롭고 편리하게 업그레이드 하는 것이라 생각합니다.
그리고 또 한가지 설문지를 보내주시면, 보답으로 작게나마 도토리를 지급하려 합니다.

설문지에 가차없이 미니채널 서비스에 대한 의견을 보내주시구요..

혹시, 설문지를 조목조목 작성하기 어려우신 분은 간단하게라도 메일로 의견을 보내주셨음 해요.
그리고  http://tong.nate.com/minit9 로 오시면  <전문평가단이야기> 에서는 다른 전문 평가단 여러분들의 의견을 보실 수도 있답니다.

아직은 부족한 점이 너무 많은 미니채널입니다.
여러분의 소리를 귀여겨 들어 더욱 발전하는 모습 보여드릴 것을 약속드려요.
지켜봐...주실꺼죠?
오늘도 좋은 하루 되세요~ 감사합니다.

P.S> 싸이월드를 이용하지 않으시는 분들도 계시겠지만 저희의 작은 정성으로 받아주세요.
       싸이월드를 이용하시는 분은 의견을 보내주실때 싸이월드 미니홈피 주소와 아이디도
       함께 적어주시고
       만약, 싸이월드를  이용하지 않으시면 가족,친구,애인 다 좋습니다. 선물하고 싶으신 분의     싸이월드 미니홈피 주소와 아이디를 적어 보내주세요.

그깟 토토리 몇푼에 기분나쁜걸 풀고싶지도 않고 또 풀리지도 않는다.

하지만 결국은 설문조사를 하기로 했다.

왜냐구? 안에다가 저 내용을 집어 넣을꺼거든!

13. 앞으로 미니채널 서비스에 기대하는 점/바라는 점을 자유롭게 기술해주세요
채널로그가 무엇인지 미니채널이 무엇인지 헷갈린다. 용어를 정확히 사용자에게 전달이 되는 것이 좋을 듯 하다. 자체 브랜드도 좋지만 먼저 뭐가 뭔지 이해가 가야 뭔가를 쓸 것 아닌가? 게다가 불만인건 이런 설문조사를 도토리 몇 개 얻겠다고 보내는 사람이 얼마나 되겠는가이다. 솔직히 나도 더 이상 도토리는 주든 안주든 상관은 없지만 기분나쁜건 그런걸로 블로거들을 달래려고 한다는 점이다. 애초부터 클로즈드 베타오픈을 한다고 했으면 출시를 늦춰서라도 클로즈드 베타오픈을 하던가 그렇게 되면 충성도도 더 높일 수 있었지 않은가 싶은데, 그런것도 없고 마냥마냥 차일피일 미루다가 어느날 갑자기 다 오픈해버리면 베타테스트 해서 주위에게 난 이런거 저런거 해봤다. 자랑도 할 겸 자신의 블로그에 포스팅 할 거리를 기다리고 있던 블로거들은 맥이 쫙 빠지지 않겠는가?

자체 매뉴얼도 부실하고 뭐가뭔지 이메일로도 가끔 날라오는걸 보면 매번 성의없기는 마찬가지고 도대체 누가 이런걸 좋아라 하면서 설문조사하고 할지 관련 담당자들은 가슴에 손을 얹고 깊이 반성해봐야 할 것이다. 요즘 세상엔 경품주면서 우리 서비스를 이용해달라 하는곳도 널렸는데 이런식으로 관심이 있어하는 유저들을 접대하면 이런 서비스는 유저들에게 쉽게 외면되고 사장되는건 불보듯 뻔하지 않은가?

이 설문지도 기분나뻐서 안쓰려다가 도토리 준다는거에 더 기분이 상해서 쓴소리 하려고 이 설문지를 쓴다. 블로거들이 뭐가 아쉬워서 싸이도토리를 받으려 할련지는 모르겠지만 정말 작은수만 이 설문에 참여할 것 같다.

애초부터 이럴꺼였으면 왜 블로거들에게 베타테스터라는 감투를 씌워줬는지도 의문이다.

베타테스터는 설문조사하는 단체쯤으로 생각하는건지

처음부터 관심을 가지고 있다가 이런식의 대우가 못마땅해서 글 쓰는거니까 너무 섭섭하게 듣지 말길... 뿌린대로 거둔다고 웹서비스는 밝은 웃음이 생명이다.

이메일을 통해서 인간적으로 다가가려는건 알겠는데, 내용이 중요하지 방법이 중요한지 다시한번 잘 생각해보길 바란다.

아직까진 실망의 연속이였으나 한번더 믿어보고 지켜보겠다.

어쨌든 기분나쁜건 나쁜거다 =_=+
geek_stuff/today 2006. 5. 10. 00:54

자료구조 과제 #3

/*
Data Structure Assignment #3
Spring, 2006
Due Date: 2006. 5. 8. Monday 6:00 PM.

주어진 input sequence에 대하여 heap을 구성하여 array에 저장하고 이를 in-order(type 1), pre-order(type 2), post-order(type 3), level-order(type 4)로 저장하는 프로그램을 작성 하시오. 속도에 따라 점수가 부여된다. 따라서, heap은 array에 저장되어야 하고 traversal은 iterative한 방법을 사용해야 한다 (recursive한 프로그램은 0점 처리).

예:
? Input:
10 // number of item
2 // traversal type
1 3 20 61 91 123 8 71 32 21 // items

30
1
30 40 13 12 11 .....

:
:

-1 // end of input

첫 번째 input으로부터의 max heap은 다음과 같다.

   123
          /   /    \
71   /   91
     /      /
61  21  3  8
  /       /       \
  1    32    20

123719161213813220



? Output:
123 71 61 1 32 21 20 91 3 8 // preorder traversal (because traversal type = 2)
123 71 61 1 32 21 20 91 3 8
0.034 // 수행속도 (입출력 시간 제외, 소수점 3자리)

40 30 13 12 11 ....
0.040

.
제한 사항
1. Input item의 개수는 최대 100000개입니다.

2. Input은 C:\ass3_input.txt에서 입력 받아서 C:\학번_이름_반.txt에 출력하면 된다.
예)출력 파일 c:\200621094_홍길동_A.txt

3.제출시 파일명은 "학번_이름_반"으로 작성하세요. 여기서 반은 과제물 제출 게시판의 반입니다.(A,B,C) 실행 파일과  C파일 두 개를 올려주세요.
예) 200621094_홍길동_A.exe /200621094_홍길동_A.c

4.소스 파일과 실행 파일을 압축하지 말고 올려주세요.  

5. c:\ 폴더에 실행파일이 없을 경우에도 동작해야 합니다.

6.변동 사항이 있을 수 있으니 공지 사항을 꼭 확인해 주세요.

7.과제물 제출 시 반드시 비밀글을 체크하시고 올리셔야 합니다. 


*/
ac
#include<stdio.h>
#include<windows.h>

#define IN_FILE "c:\\ass3_input.txt"
#define OUT_FILE "c:\\200120993_이지황_B.txt"

struct time{
LARGE_INTEGER   st, ed, freq ;
  double          gap ;
  BOOL            bEnable;
  char            szName[256];
  UINT            counter;
  double          fTotal_Time;
}mytime;

struct dat{
int num; // number of input datas
int type;
int *heap, *temp, *out; 
}data;


void inorder(void) // when case 1,
{
int i=1, j=1;
for( ; i<=data.num/2; i*=2);
 
while(1)
{     
if(i == 1)
{
  data.out[j++] = data.heap[i];
  data.temp[i] = -1;
  for(i=i*2+1; i<=data.num/2; i*=2);
}
else
{
  if(i*2 <= data.num && data.temp[i*2] != -1)
  {
   data.out[j++] = data.heap[i*2];
   data.temp[i*2] = -1;
  }

  if(data.temp[i] != -1)
  {
   data.out[j++] = data.heap[i];
   data.temp[i] = -1;
  }
   
  if(i*2+1 <= data.num && data.temp[i*2+1]!= -1)
  {
   for(i=i*2+1; i<=data.num/2; i*=2);
   continue;
  }
  //printf("i:%d j:%d\n",i,j);
}
i/=2;
if(j>data.num) break;
}
}


void preorder(void) // when case 2,
{
int i=1, j=1;

while(1)
{
for( ; i<=data.num; i*=2)
{
  if(data.temp[i]!= -1)
  {
   data.out[j++]=data.heap[i];
   data.temp[i]= -1;
  }
}
if(i/2-1>=data.num)
{
  i=i/2+1;
  data.out[j++]=data.heap[i];
  data.temp[i]= -1;
}

i=i/2+1;

if(i%2==0)
{
  while(i%2==0)
  i=i/2;
}
if(j>data.num)
  break;
}


}


void postorder(void) // when case 3,
{
int i=1, j=1;  
for( ; i<=data.num/2; i*=2);
 
while(1)
{     
if(data.temp[i]!= -1)
{
  data.out[j++]=data.heap[i];
  data.temp[i]=-1;
}

if(i+1<=data.num && data.temp[i+1]!= -1 && (i+1)%2==1) 
{
  i++;
  if(i*2<=data.num)
  {
   for( ; i<=data.num/2; i*=2);
   continue;
  }
  data.out[j++] = data.heap[i];
  data.temp[i]= -1;
}

i/=2;
if(j > data.num) break;
}
}


static void Start()
{
mytime.gap = 0.0;  // init
mytime.bEnable = FALSE;
mytime.counter = 0;
mytime.fTotal_Time = 0.0;

// system test
QueryPerformanceCounter ( &mytime.st ) ;
if ( mytime.st.QuadPart == 0 )
{
mytime.bEnable= FALSE;
OutputDebugString("시스템이 지원이 안됨,,, 사용할 수 없음[CTimeCounter Class]\n");
}

// start()
mytime.counter ++;
QueryPerformanceCounter ( &mytime.st ) ;
}


static void End()
{
char szMsg[64];

QueryPerformanceCounter ( &mytime.ed ) ;
QueryPerformanceFrequency ( &mytime.freq ) ;

// 소요 시간 계산
mytime.gap = ( (double) (mytime.ed.QuadPart - mytime.st.QuadPart )) / ( (double) mytime.freq.QuadPart ) ;
mytime.fTotal_Time += mytime.gap;

sprintf ( szMsg, "수행시간 %.6f초\n", mytime.gap) ;
OutputDebugString(szMsg);
}


int read(FILE *in_file)
{
int i;
fscanf(in_file,"%d",&data.num);
if(data.num== -1) return 0;
else
{
data.heap=(int*)malloc(sizeof(int)*(data.num+1)); // memory allocation
data.temp=(int*)malloc(sizeof(int)*(data.num+1));
data.out= (int*)malloc(sizeof(int)*(data.num+1));

fscanf(in_file,"%d",&data.type);

for(i=1; i<=data.num; i++)
{
  fscanf(in_file,"%d",&data.temp[i]);
}
}
return 1;
}


void sort(FILE *out_file)
{
int i,j,tmp;
int flaglevelorder=0;

Start(); // clock starts

// max heap insertion occurs here.
for(i=1; i<=data.num; i++)
{
data.heap[i]=data.temp[i];
for(j=i; j>1; j/=2)
{
  if(data.heap[j]<data.heap[j/2]) break;
  else
  {
   tmp=data.heap[j/2];
   data.heap[j/2]=data.heap[j];
   data.heap[j]=tmp;
  }
}
}

switch(data.type)
{
case 1:
inorder();
break;
case 2:
preorder();
break;
case 3:
postorder();
break;
case 4: //level-order
flaglevelorder=1;
//for(i=1; i<=data.num; i++) data.out[i]=data.heap[i];
break;
}

End(); // clock stops

if(flaglevelorder)
{
for(i=1;i<=data.num;i++) fprintf(out_file, "%d ", data.heap[i]);
}
else
{
for(i=1;i<=data.num;i++) fprintf(out_file, "%d ", data.out[i]);
}

fprintf(out_file,"\n%5.3f\n\n", mytime.fTotal_Time);

free(data.heap); // unallocation of memory
free(data.temp);
free(data.out);
}


void main(void)
{
FILE *infile, *outfile;

infile=fopen(IN_FILE,"r");
outfile=fopen(OUT_FILE,"w");

while(read(infile)) sort(outfile);

fclose(infile);
fclose(outfile);
}

geek_stuff/today 2006. 5. 10. 00:49

자료구조 과제 #2

/*
자료구조 - 2번째 과제물.
제출 기한 : 2006. 3. 31. Friday 6:00 PM.

주어진 숫자를 radix sort algorithm (pp. 350-357) 을 이용하여 정렬하라.

예 (radix 가 10일 경우):

329        720        720        329
457        355        329        355
657        436        436        436
839  ->    457   ->   839   ->   457
436        657        355        657
720        329        457        720
355        839        657        839


Input 양식:
5                // input 개수
10329353
2340213
234091223
2342321
2341323

Output 양식:
2340213
2341323
2342321
10329353
234091223


조건:
1. 각 숫자는 최대 9자리이다.
2. Input은 C:ass2_input.txt에서 입력 받아서 C:ass2_output.txt에 출력하면 된다.
3. 제출시 파일명은 "학번_이름_반"으로 작성하세요. 여기서 반은 과제물 제출 게시판의 반입니다.(A,B,C)
  예) 200621094_홍길동_A.exe /200621094_홍길동_A.c
4. 소스 파일과 실행 파일모두 제출 하셔야 합니다.  
5. input 개수에 상관없이 작동해야 합니다. 단 integer범위를 벗어나진 않습니다.
6. c: 폴더에 실행파일이 없을 경우에도 동작해야 합니다.
7. Radix_Size에 변동 사항이 있을 경우 공지사항에 다시 올리겠습니다.
8. 공지 사항을 꼭 확인해 주세요.
*/

#include <stdlib.h>  // to use function: atoi()
#include <string.h>  // to reset buffer: memset()
#include <windows.h> // for class CTimeCouter
#include <stdio.h>  // for class CTimeCouter

#define IN_FILE "c:\\ass2_input.txt"
#define OUT_FILE "c:\\ass2_output.txt"

// global variables here
struct data{
int* list;      // input data enters here
int* temp;  // mydata.temporary data to exchange
int num_in;    // number of inputs
}mydata;

struct time{
LARGE_INTEGER   st, ed, freq ;
   double          gap ;
   BOOL            bEnable;
   char            szName[256];
   UINT            counter;
   double          fTotal_Time;
}mytime;

static void Start()
{
mytime.gap = 0.0;         // init
mytime.bEnable = FALSE;
mytime.counter = 0;
mytime.fTotal_Time = 0.0;

// system test
QueryPerformanceCounter ( &mytime.st ) ;
if ( mytime.st.QuadPart == 0 )
{
 mytime.bEnable= FALSE;
 OutputDebugString("시스템이 지원이 안됨,,, 사용할 수 없음[CTimeCounter Class]\n");
}

// start()
mytime.counter ++;
QueryPerformanceCounter ( &mytime.st ) ;
}


static void End()
{
char szMsg[64];

QueryPerformanceCounter ( &mytime.ed ) ;
QueryPerformanceFrequency ( &mytime.freq ) ;

// 소요 시간 계산
mytime.gap = ( (double) (mytime.ed.QuadPart - mytime.st.QuadPart )) / ( (double) mytime.freq.QuadPart ) ;
mytime.fTotal_Time += mytime.gap;

sprintf ( szMsg, "수행시간 %.6f초\n", mytime.gap) ;
OutputDebugString(szMsg);
}

int read(FILE * in_file)
{
char tmpr[10]="";
int i;

fscanf(in_file,"%s",&tmpr);
if (atoi(tmpr)==0) return 0; // break if input is zero
else
{
 mydata.num_in=atoi(tmpr)+1;

 mydata.list = (int*)malloc(sizeof(int)*mydata.num_in); // memory allocation as size of mydata.num_in, and link this to mydata.list
 mydata.temp = (int*)malloc(sizeof(int)*mydata.num_in); // memory allocation as size of mydata.num_in, and link this to mydata.temp

 for(i=1; i<mydata.num_in; i++)
 {
  fscanf(in_file,"%s",&tmpr);
  mydata.list[i] = atoi(tmpr);
 }
}
return 1;
}


static void sort(FILE* out_file)
{
int cnt[256], idx[256], i;

Start(); // start stopwatch

memset(cnt, 0, 1024); // initializing count
idx[0]=0; // initializing index
for(i=0; i<mydata.num_in; i++)   cnt[(mydata.list[i] >> 0) & 255]++;
for(i=1; i<256; i++)   idx[i] = idx[i-1] + cnt[i-1];
for(i=0; i<mydata.num_in; i++)   mydata.temp[idx[(mydata.list[i] >> 0) & 255]++] = mydata.list[i];

memset(cnt, 0, 1024); // initializing count
idx[0]=0; // initializing index
for(i=0; i<mydata.num_in; i++)   cnt[(mydata.temp[i] >> 8) & (255)]++;
 for(i=1; i<256; i++)   idx[i] = idx[i-1] + cnt[i-1];
for(i=0; i<mydata.num_in; i++)   mydata.list[idx[(mydata.temp[i] >> 8) & 255]++] = mydata.temp[i];

memset(cnt, 0, 1024); // initializing count
idx[0]=0; // initializing index
for(i=0; i<mydata.num_in; i++)   cnt[(mydata.list[i] >> 16) & (255)]++;
for(i=1; i<256; i++)   idx[i] = idx[i-1] + cnt[i-1];
for(i=0; i<mydata.num_in; i++)   mydata.temp[idx[(mydata.list[i] >> 16) & 255]++] = mydata.list[i];

memset(cnt, 0, 1024); // initializing count
idx[0]=0; // initializing index
for(i=0; i<mydata.num_in; i++)   cnt[(mydata.temp[i] >> 24) & (255)]++;
for(i=1; i<256; i++)   idx[i] = idx[i-1] + cnt[i-1];
for(i=0; i<mydata.num_in; i++)   mydata.list[idx[(mydata.temp[i] >> 24) & 255]++] = mydata.temp[i];

End();  // stop stopwatch

fprintf(out_file,"%.10f\n", mytime.fTotal_Time);
for(i=0; i<mydata.num_in-1;i++) fprintf(out_file,"%d ", mydata.list[i]);
fprintf(out_file,"\n");
}


void main(void)
{
   FILE *in_file, *out_file;

in_file=fopen(IN_FILE,"r");
out_file=fopen(OUT_FILE,"w");

while(read(in_file)) sort(out_file);

fclose(in_file);
fclose(out_file);

free(mydata.list);
free(mydata.temp);
}

'geek_stuff > today' 카테고리의 다른 글

Linear Shifted Array Generator  (0) 2006.05.31
Tistory 초대권 응모관련...  (17) 2006.05.27
Tistory.com Beta에서의 첫 글  (3) 2006.05.26
1kko.com 블로그의 변천사  (0) 2006.05.21
자료구조 과제 #3  (0) 2006.05.10
자료구조 과제 #1  (0) 2006.05.10
심심해서 서버 하나를 뚫어봤다.  (0) 2006.05.08
Apple.com이 윈도우즈를 지원한다?!  (2) 2006.04.06
숫자 generator 프로그램  (0) 2006.03.27
뉴 개념의 PC 등장!  (0) 2006.03.10
geek_stuff/today 2006. 5. 10. 00:48

자료구조 과제 #1

/*/////////////////////////////////
Data Structure Assignment #1


과제1:
Operand의 크기가 너무커서 integer type으로 처리하지 못하는 더하기 연산을 integer 덧셈처럼 처리하는 프로그램을 작성하시오.

채점에 사용될 양식
예)
input.txt

21123424543254546575767868
+4235465475678687979797

2335344365547657
-345463574687

25434665457655765879
+4547568798080980

3543454
-46576985679

..
..
..
EOF

output.txt
325243436576970808976

3655765876987908606080

654768780900897979799
..
..
..

답 생성시 음수는 숫자앞에 '-'기호를 붙이셔야 됩니다.
위의 방식으로 하겠습니다.

값 사이의 줄 공백은 input 파일에서는 처리하셔야 되고
처리가 안되어 있다면 '순서대로 2줄을 읽어들여' 처리하는 식으로 되어 있으면 됩니다.

output파일에서의 공백은 처리 안하셨어도 됩니다.
*/

#include <fstream.h> // includes iostream.h
#include <string.h>  // for strcmp()

#define IN_FILE "C:\\input.txt" // don't forget to use double '\\' instead of '\'
#define OUT_FILE "C:\\output.txt"
#define MAX_LEN 200 // up to 200 chars (w/ cr & sign, +1)
#define POSITIVE 0
#define NEGATIVE 1

void mysort(char *mychar) // clear out spaces;
{
int j=0;
char temp[MAX_LEN]=""; // clearing garbages out (will temporary store cleared *mychar values)
for (int i=0;i<=MAX_LEN+1;i++)
{
 if (mychar[i]!=' ') temp[j++]=mychar[i]; // if the character is not a blank, than save to the temp.
}
strcpy(mychar, temp); // overwrite strings with 'blank removed' ones.


int signcheck_rmv(char *mychar) // check sign and return 1 if it's negative, else 0.
{
int ret_key=0;
for (int i=0;i<=MAX_LEN+1;i++)
{
 switch(mychar[i])
 {
 case '-':
  ret_key=1;     // if it's negative turn the flag on.
 case '+':
  mychar[i]=' '; // and then change the sign symbol to a blank.
  break;
 }
}
mysort(mychar); // call sort function to remove spaces

return ret_key; // return 1 if it's negative, otherwise 0
}


void remove_zeros(char* output) // remove front zeros, ej) 001023 -> 1023
{
char temp[MAX_LEN]="";
strcpy(temp,output);

for (int i=0;(unsigned)i<strlen(temp);i++) {
 if(temp[i]>='1') break;
 else temp[i]=' ';
}
mysort(temp);

if (strcmp(temp,"")==0) strcpy(temp,"0"); // leave one '0', if output is null.
strcpy(output,temp);
}


inline int bigger(int a, int b){ if(a>b) return a; else return b; }  // return bigger integer, else return first input.


void reform(char *mychar, int len) //digit count and modify 11 as 0011 to fit for 2222
{
int j=len-strlen(mychar); //+1 is for case of increase of number over 10
if (strlen(mychar)==(unsigned)len) {} //skip if strlen(mychar) is equal to itself.
else {
 while(j--) {
  for (int i=len; i>=0; i--) //repeat as length of mychar.
  {
   if(i<=0) mychar[i]='0'; // put '0' to mychar[i] if [i] is 0.
   else mychar[i]=mychar[i-1]; //otherwise
  }
 }
}
}


void calculate_plus(char* a, char* b, char *output, int last) // calculate and saves value to *output
{
int c=0;
int inta, intb;

char temp[MAX_LEN]="";

// digit count and modify 11 as 0011 to fit for 2222
reform(a, last);
reform(b, last);
reform(temp, last);

for (int i=1;i<=last;i++)
{
 inta=a[last-i]-'0';
 intb=b[last-i]-'0'; // converts a character to an integer
 //cout<<"inta+intb:"<<inta+intb<<endl;

 temp[last-i]=(((inta+intb)%10)+c)+'0'; // perform plus calculation

 if((inta+intb)/10) // if a+b is over 10, then we need to
 {
  c=1;    // set flag to 1 which says the output is more than 10.
  if(i==last) // in case the output have more digit than input, like 999+999.
  {
   reform(temp,strlen(temp)+1); // increase one more digit
   temp[0]='1';                 // then put 1 in front.
  }
 }
 else c=0; // otherwise reset the flag
}

remove_zeros(temp);
strcpy(output,temp); // copy temp to output
}


void calculate_minus(char* a, char* b, char *output, int last) // calculate and saves value to *output
{
int inta=0, intb=0, c=0;
char temp[MAX_LEN]="";
char my_a[MAX_LEN]="";
char my_b[MAX_LEN]="";

strcpy(my_a,a);
strcpy(my_b,b);

// count digit and modify 11 as 0011 to fit for 2222
reform(temp, last);
reform(my_a, last);
reform(my_b, last);

for (int i=1;i<=last;i++)
{
 if((my_a[last-i]-'0')==0) inta=0;
 else inta=(my_a[last-i]-'0');
 if((my_b[last-i]-'0')==0) intb=0;
 else intb=(my_b[last-i]-'0'); // converts a character to an integer


 if(inta-intb-c>=0)
 {
  temp[last-i]=(((inta-intb)%10)-c)+'0'; // perform minus calculation
  c=0;
 }
 else //if(inta-intb-c<0)
 {
  temp[last-i]=(inta-intb-c+10)+'0';
  c=1;
 }
}
remove_zeros(temp);
strcpy(output, temp);
}


int calculate(char *a, char *b, char *output, int a_is_neg, int b_is_neg) //(unsigned)bigger number comes to a, return 1 when the answer is MINUS.
{
char temp[MAX_LEN]="";
int type_a=0, type_b=0, i;
int len_a=strlen(a);
int len_b=strlen(b);
int last=bigger(len_a,len_b);

int a_size=1, b_size=1;

if(len_a==len_b) // assume that we have same length, because we already reform(a)&(b)
{
 for (i=0;i<=last;i++) // compare one by one
 {
  if(a[i]>b[i]) a_size*=(i+1); // +1 to prevent result is 0,  when i==0;
  if(b[i]>a[i]) b_size*=(i+1);
 }
 //cout<<"a_size: "<<a_size<<endl<<"b_size: "<<b_size<<endl;
 if(a_size>b_size)
 {
  if(a_is_neg) {calculate_minus(a,b,output,last); return NEGATIVE;} // when a_is_big and a_is_neg, output must be NEGATIVE
  if(b_is_neg) {calculate_minus(a,b,output,last); return POSITIVE;}
  calculate_plus(a,b,output,last); return POSITIVE;
 }
 if(b_size>a_size) //switch between (a,b) is occuring here.
 {
  if(b_is_neg) {calculate_plus(b,a,output,last); return NEGATIVE;} // when b_is_big and b_is_neg, output must be NEGATIVE
  if(a_is_neg) {calculate_plus(b,a,output,last); return POSITIVE;}
  calculate_plus(a,b,output,last); return POSITIVE;
 }
 calculate_plus(a,b,output,last); return POSITIVE;
}


int LONG=1;  //define as variable because we have to change later..
int SHORT=0;
//negative=1
//positive=0

if (len_a>len_b) { type_a=LONG; type_b=SHORT; }
if (len_b>len_a) { type_b=LONG; type_a=SHORT; }
if (a_is_neg) type_a+=NEGATIVE; else type_a+=POSITIVE;
if (b_is_neg) type_b+=NEGATIVE; else type_a+=POSITIVE;

// long-  type_x=2,
// long+  type_x=1,
// short- type_x=1,
// short+ type_x=0.

// first determine two definite situation.
// long+a(1) - short-b(1) = 0 // minus_calc, return POSITIVE
// long+a(1) - short+b(0) = 1 // plus_calc, return POSITIVE
// long-a(2) - short-b(1) = 1 // plus_calc, return NEGATIVE
// long-a(2) - short+b(0) = 2 // minus_calc, return NEGATIVE
// short+a(0) - long-b(2) = -2 // switch, minus_calc, return NEGATIVE
// short+a(0) - long+b(1) = -1 // plus_calc, return POSITIVE
// short-a(1) - long-b(2) = -1 // plus_calc, return NEGATIVE
// short-a(1) - long+b(1) = 0 // switch, minus_calc, return NEGATIVE

// now arranging by output, we can see top 2 has distinctive output.

// long-a(2) - short+b(0) = 2 // minus_calc, return NEGATIVE
// short+a(0) - long-b(2) = -2 // switch, minus_calc, return NEGATIVE

// long+a(1) - short-b(1) = 0 // minus_calc, return POSITIVE
// short-a(1) - long+b(1) = 0 // switch, minus_calc, return NEGATIVE
// long+a(1) - short+b(0) = 1 // plus_calc, return POSITIVE
// long-a(2) - short-b(1) = 1 // plus_calc, return NEGATIVE
// short+a(0) - long+b(1) = -1 // plus_calc, return POSITIVE
// short-a(1) - long-b(2) = -1 // plus_calc, return NEGATIVE

// so we can write:
if ( (type_a-type_b) == 2 ) { calculate_minus(a,b,output,last); return NEGATIVE; }
else if ( (type_a-type_b) == -2 ) { calculate_minus(b,a,output,last); return NEGATIVE; }

// now we have 6 conditions left, so we change the calculation from a-b to a+b.
// then we'll have two distinctive output from them.

// long+a(1) + short-b(1) = 2 // minus_calc, return POSITIVE
// short-a(1) + long+b(1) = 0 // switch, minus_calc, return NEGATIVE

// long+a(1) + short+b(0) = 1 // plus_calc, return POSITIVE
// long-a(2) + short-b(1) = 3 // plus_calc, return NEGATIVE
// short+a(0) + long+b(1) = 1 // plus_calc, return POSITIVE
// short-a(1) + long-b(2) = 3 // plus_calc, return NEGATIVE

// so we can write:
else if ( (type_a+type_b) == 2 ) { calculate_minus(a,b,output,last); return POSITIVE; }
else if ( (type_a+type_b) == 0 ) { calculate_minus(b,a,output,last); return NEGATIVE; }

// now we have 4 conditions left, so we change the definition of long
// now change the def of long.
else{
 LONG=10;
 type_a=type_b=0; //reset type_a and type_b

 // recalculate then.
 if (len_a>len_b) { type_a=LONG; type_b=SHORT; }
 if (len_b>len_a) { type_b=LONG; type_a=SHORT; }
 if (a_is_neg) type_a+=NEGATIVE; else type_a+=POSITIVE;
 if (b_is_neg) type_b+=NEGATIVE; else type_a+=POSITIVE;

 // LONG=10
 // SHORT=0
 // NEGATIVE=1
 // POSITIVE=0
 
 // which makes
 // long-  type_x=11,
 // long+  type_x=10,
 // short- type_x=1,
 // short+ type_x=0.

 // we perform the plus calculations to determine next top two.
 // long+a(10) + short+b(0) = 10 // plus_calc, return POSITIVE
 // short+a(0) + long+b(10) = 10 // plus_calc, return POSITIVE
 
 // long-a(11) + short-b(1) = 12 // plus_calc, return NEGATIVE
 // short-a(1) + long-b(11) = 12 // plus_calc, return NEGATIVE

 // so we now can write:
 if ((type_a+type_b) == 10) { calculate_plus(a,b,output,last); return POSITIVE; }
 else { calculate_plus(a,b,output,last); return NEGATIVE; }
}

return POSITIVE; // return positive if the answer is 0 situation(a=b) like (111-111)=0
}


void main(void)
{
char a[MAX_LEN]="";
char b[MAX_LEN]="";
char output[MAX_LEN]="";  // clearing out garbages

// opening files...
ifstream input_file(IN_FILE); //open file to read
ofstream output_file(OUT_FILE); //open file to write
if(input_file.fail()) //input file check
 cerr << "Error opening "<<IN_FILE<<endl;
else if(output_file.fail()) //output file check
 cerr << "Error opening "<<OUT_FILE<<endl;
else
{
 while (! input_file.eof()) //loop starts to get lines, stops end of the file.
 {
  strcpy(output,""); // just in case if the line have odd number
  //read file by line
  input_file.getline(a, sizeof(a)); //get a line, when repeats get the next odd line
  input_file.getline(b, sizeof(b)); //get a next line, when repeats get the next even line
  if (strcmp(a,"EOF")==0 || strcmp(b,"EOF")==0) break; // break out loop when meets "EOF" string, no matter if there's more to read.
   // so, really doesn't matter either line number is on even, or odd.

  //calculation
  //remove the sign
  int is_a_neg=signcheck_rmv(a);
  int is_b_neg=signcheck_rmv(b);

  switch(calculate(a, b, output, is_a_neg, is_b_neg)) // check out whether output positive calculation or negative.
  {
  case NEGATIVE:
   reform(output,strlen(output)+1);
   output[0]='-';
  case POSITIVE:
   break;
  }

  //cout<<"a: "<<a<<endl<<"b: "<<b<<endl<<"o: "<<output<<endl;  // just for testing purpose.
  output_file<<output<<endl; // write a line to output file.
 }//end of eof checking loop
}//end of input file error checking

// closing files...
input_file.close();
output_file.close();
} //end of main(void)*/

'geek_stuff > today' 카테고리의 다른 글

Tistory 초대권 응모관련...  (17) 2006.05.27
Tistory.com Beta에서의 첫 글  (3) 2006.05.26
1kko.com 블로그의 변천사  (0) 2006.05.21
자료구조 과제 #3  (0) 2006.05.10
자료구조 과제 #2  (0) 2006.05.10
심심해서 서버 하나를 뚫어봤다.  (0) 2006.05.08
Apple.com이 윈도우즈를 지원한다?!  (2) 2006.04.06
숫자 generator 프로그램  (0) 2006.03.27
뉴 개념의 PC 등장!  (0) 2006.03.10
도전 PC 100만원!  (5) 2006.02.23
fun & cool 2006. 5. 10. 00:20

야르찹빠 립빠릴빨랄 립빠리딜랄 이치단두

가끔 mini님이 던져주는 웹에 돌아다니는 것들을 넙죽넙죽 받아먹으면서 살고있던 도중

오늘은 꽤나 흥미로운것을 받아 여러분께 소개해드리려고 한다.

그렇다. 제목부터 희안하다. 하지만 한번 보시면 깨닫게 되시리라..

Can't display this flash media



가사:

야르찹빠 립빠릴빨랄 립빠리딜랄 이치단두

라 리비달리 둘라 룹빠리루리랄 꾸리발 꿉가야 끼비간두

야르챱챠야 리비다리빌~ 라바 리치단딜랄 델란도~

아바 릴빠따 립빠리비리비리비리스단 델란도

야바릴랄스 델야로 와레바릴브리브리브리브 드유부

버이스랄 델랄스 델랄도 다게다게라게 두두 데야로 (x무한반복)