운영체제 첫 번째 과제는 '구구단 만들기'이다.
조건은 다음과 같다.
- Write a program having the following functions
- Print a multiplication table on the screen as follows

- Get the max number of sub-tables with command line argument
- Print 5 sub-tables in a row on the screen
실행 결과는 다음과 같아야 한다.

3일 걸렸다,,
해결하지 못 한 것!
cmd 창 띄어서 실행 시키기 + 숫자 입력
5단씩 가로로 정렬해서 출력하기
여러 차례 시도해 본 것!
(일단 이거 가지고 계속 다듬어 보고 있다.)

1차 시도 ㅎㅅㅎ


2차 시도 ㅎㅅㅎ

3차 시도 ㅎㅅㅎ

뭐,, 실행 결과는 또 난리 난다,,

나름,,이리 저리 열심히 굴려봤다.
뭐가 부족한 걸까..!
드디어 완성했다!

실행결과도 제대로 나온다!!!

엉어어엉엉엉엉ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
새롭게 알게 된 것!
C++ 공백 활용해 정렬하기 (https://blog.naver.com/thebaleuncoding/221922917364)
-
데이터 고유 길이를 무시하고, 특정 길이의 간격을 주고 싶을 때 : width() & setw()를 사용한다.
-
width();
- 지정하고자 하는 간격을 괄호 안 숫자로 입력
- std::right → 오른쪽 정렬 / std::left → 왼쪽 정렬
- width()는 기본적으로 오른쪽 정렬이 되므로, std::right 생략 가능

-
setw();
- #include < iomanip > 추가
- cout.setf(ios::right) → 오른쪽 정렬 / cout.setf(ios::left) → 왼쪽 정렬
- 기본적으로 오른쪽 정렬

-
main 함수의 매개변수 : int argc, char argv (+ char* envp)
- int argc : main 함수에 전달되는 데이터의 개수를 의미한다. → .exe도 포함
- char* argv[] : main 함수에 전달되는 실제적인 데이터로 char형 포인터 배열로 구성되어 있다. 첫 번째 문자열은 프로그램의 실행경로이다.
- char* envp : 환경변수..!
👏 회고 of 첫 번째 과제
- 우선 시간이 오래 걸린 이유를 나름 파악해 보자면
- 내 머릿속 도면을 가지고, 무작정 코드 작성부터 시작했다.
- 집중할 시간을 정하지 않았다.
- 열심히 구글링해 보지 않고, 검은창만 계속 들여다 봤다.
- 고정된 틀에서 쉽게 벗어나지 못 한 거?
- 다음 과제 때는
- 간단히 알고리즘을 그려보고 시작하자..!
- 온전히 몰입할 시간을 정해보자..!
- 답이 아닌, 막히는 지점을 뚫는 방법을 부지런히 구글링하자..!
- 밥=코딩이라고 생각하자,,엄청 소중하다,,ㅎㅅㅎ