전체 글 119

20171101 프로그래밍 기초

포인터 개념에 대해서 처음 배웠던 날 같다. 아마도. 포인터 배열에 모든 단어를 (단어였나? 상관없다.) 집어넣고IO Redirection을 이용하여 입력 파일 넣고 sort된 출력파일로 뱉어내면 되는 그런 프로그램이었다. 아, 그리고 이때 쯤 부터IO Redirection을 사용하면서 이렇게 생긴 입력 방식을 선호하게 되었다. 이러한 구조는 많은 변형이 가능하며, 선별적인 자료 수집이 용이하다.또한 malloc의 경우이런 식으로 동적할당 해 준 뒤, 넣고 싶은 내용을 strcpy를 이용하여 복사하기만 하면 됐다. 참 편하다.그리고 sort는 qsort가 아니라 꽤 특이한 방법으로 했던 것 같은데 지금 생각해보면 좀 유치한 짓이라 굳이 캡쳐하지는 않는다.

20171004 프로그래밍 기초

내 동기들이 C언어를 포기하게 하려는 교수님의 1차적인 포부가 담긴 과제였다. 그나마 할 만 해서 잘 넘어가기는 했지만.이 때는 아마 포인터의 개념에 대해서 전혀 무지한 상태라서 포인터를 사용하지 않고 사용하느라 고생했던 것 같다.먼저 fgets로 문자열을 받아버리고, 그걸 띄어쓰기나 뭐 그런 기준들로 세세하게 나눠서 처리했다(음수도 처리하라고 하셨으니까, 실수랑).그 다음 뭐 reverse polish expression에 최적화된 stack 개념으로 풀어버렸다. 물론 교과서는 못 썼다. 더럽게 어렵다.교과서 코드를 전혀 이해할 수 없었다. 솔직히 말해서 방법이 어려웠던거지 논리가 어렵다거나 그런건 절대 아닌 문제였다.

20170926 프로그래밍 기초

일단 과제 1의 코드가 실행 되도록 하는 것이 먼저라고 생각했고, 과제 1을 해결한 후에는 과제 2에서 과제 1의 문제점, 즉 배열의 맨 끝부터 처리해야 해 오래 걸린다는 문제를 해결해야 했다. 교과서에 있던 함수다. 별 거 없다. 과제 2. 잘린(1학년의) 설명 : 배열 두개를 받으며, s의 맨 오른 쪽 부터 index 0 까지 t와 같은 부분을 찾는다. \n 리턴 값은가장 오른 쪽에 있는 t와 같은 문자열의 index 시작점. 만약 인덱스를 찾지 못하면 -1을 리턴함 함수 시작과 함께 이중포문을 때려 박아 버리는 멋있는 모습이다. 잘린(1학년의) 설명 : 배열 두개를 받으며, s의 맨 오른 쪽 부터 index 0 까지 t와 같은 부분을 찾는다. \n 리턴 값은가장 오른 쪽에 있는 t와 같은 문자열의 ..

20170920 프로그래밍 기초

이 프로그램은 어차피 과제 2가 목적이었으니 과제 2만 하면 됐었다.그리고 코딩이 복잡하다거나 그런 문제가 아니라 이산수학(논리학)의 문제라고 생각하면 편하다.33게임의 경우, 33을 외치는 사람이 지는 게임이다. 그리고 한 사람이 한 번 말할 수 있는 숫자는 최소 1, 최대 3이다.그렇기 때문에, 사용자가 부를 수 있는 어떤 수를 불러도 한 사이클에서 유지할 수 있는 수는 4이다.(1-3, 2-2, 3-1)그런 식으로 계속 갈 경우 4*8 즉, 4 사이클을 8번만 해주면 사용자가 무조건 질 수 밖에 없는 프로그램이 완성된다.음... 그냥 교수님께서 스위치 연습하라고 내주신 문제 같다.

20171206 프로그래밍 기초

문제를 보면 작성할 코드가 그렇게 많지 않아 보인다. 그리고 그렇다.먼저 확인해야 할 점은 strtok()와 strchr()인데, 써 본적이 한번도 없어서 라이브러리를 확인해야한다.strtok() : https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/strtok.htmstrchr() : https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rtref/strchr.htm 일단 한 줄을 다 받긴 했는데(fgets()를 사용하라고 하셨으니까), 띄어쓰기 기준으로 나눠야한다. 그러려면 전역변수로 char *Words[100]을 선언하여 단어들을 넣어줄 공간을 만들어주고 이와 같이 해준다. (..