학습내용
for 반복문을 빠르게 복습하고

오른쪽으로 별을 출력하는 코드를 분석해보았다. 높이가 5라고 적혀있는게 사실은 코드줄이 총5개인것이다 그래서 n=5 라고 정해놓았을때 1부터 5까지 가야함으로 for문을 이용해서 i = 0 ; i < 5 이렇게 조건식으로 세우면 된다. 후에 endl;을 끝에 달아주면 총5줄의 문단이 생긴다 이제 거기서 1 2 3 4 5 로증가하는 별과 4 3 2 1 0 으로 줄어드는 공백이 필요하다 순서상으로 봤을때 첫번째 줄이 한번 실행될때 공백은 총4번 별은총 1번이 실행되어야 하는것이다 따라서, 처음선언한 for문 안에 위치하여야 하고 다시 거기서 반복을 돌아야한다. 공백은 줄어들어야 하는것이기때문에 for(int j = n - i ; j > 0) 이런조건식이되고 반대로 별은 늘어나야하니까 처음for문과 같은형태가 된다 그렇게 하게되면 오른쪽과같은 모습이 출력되게 된다. 이를 응용해서 도전을하고싶어서 다이아몬드 찍기에 도전을했는데,

정수를 입력받아서 다이아몬드를 출력하는 구조이다. 일단 처음 패턴을 분석해봤을때 4를 입력하면 위 아래로 동일한 부분이 3 개 3 개 출력이된다 때문에 위랑 아래로 나누어 쪽이나 아래쪽에 한줄씩만 더 추가하면 된다고생각했고 또 위에서 왼쪽과 오른쪽으로 나눠야 한다고생각해서 나눈다음 공백과 별을 출력하는 수업내용이 생각이나서 순서대로 for문으로 배치했다.


결과 구현은 이렇게 하였고 for문의 순서에따라 배치되는 순서를 다룰 수 있다는 것을 깨닫게 되었다. 오늘하루의 대부분의 시간이 이문제를 해결하는데에 사용되었지만 결국 풀어내서 뿌듯했다.