32.

for문 안에 i의 범위를 지정해줄 때 배열의 길이보다 작게 해야 한다.. x 작거나 같다(<=) x

1-5번. 배열의 주소값을 출력하라는 줄 알고 못 풀었는데 다시 보니 인덱스 번호 출력이었다.
오늘만 해도 몇 번이나 문제를 잘못 이해해서 못 풀거나, 다르게 풀었지!
제발 문제 꼼꼼하게 읽고 정확히 이해한 다음에 코드 짜자.

1-7번
또 한번! 문제 잘못 이해. 인덱스 번호 내림차 순으로 출력하라는 말이 아니라 배열 값을 내림차 순으로 정렬하라는 말이다. 알고리즘 중 버블 정렬을 사용하면 된다. 코드를 자세히 보고 이해하여 외우자.

선택 정렬
33.

다차원 정방, 가변 배열 생성부터 초기화, 선언까지
34.

배열의 크기만큼 자동으로 for문을 반복하고 배열 안에 있는 값을 출력하는 for each문
간단하게 값을 출력하고 싶을 때 사용한다.
for문 (초기식; 반복식; 증감식) 대신에 바로 (배열과 동일한 타입의 변수 선언 :(세미 콜론 아니고 콜론임) 변수)
이렇게 쓰고 for문 실행문 안에는 위에 선언한 변수를 넣어주면 된다.
35.

1-2 오름차 순으로 정렬하는데 버블 정렬을 사용했다.
앞에서 작성했던 코드는 내림차 순이라 if (arr [i] > arr[j]) 였는데 이번에는 오름차 순이라 if (arr[i] < arr [j])로 작성하였다.

1-3 래퍼런스를 어떻게 사용하는지 몰라서 헷갈렸던 문제.
tmp라는 배열을 선언한 다음에 arr 배열의 주소를 복사해준다. 현재 tmp 배열의 주소는 arr과 동일한 상태이다.
arr 배열을 새로 만들어서 6개의 방을 만든다.
len 변수를 선언하여 arr 변수의 길이를 넣어둔다.
for문 안에서 tmp.length을 반복식으로 설정. (arr.length로 하지 않는 이유는 arr은 이미 새로이 6개짜리 배열로 새롭게 만들었으니까) tmp에 담아놨던 값을 새로 만든 arr에 넣어준다.
arr.length == 6 하지만 마지막 방의 인덱스 번호 5 이므로 arr [len-1]으로 하여 위에 입력받은 num 값을 넣어주고 for each 문을 이용해 출력해본다.

추가로 입력한 수를 포함하여 위와 같이 출력된다.
1-2번에 썼던 정렬 코드를 이용하여 다시 정렬한 다음에 출력하면 더 좋지 싶다.
44. (선생님이 갑자기 클래스 번호를 건너뛰었다..)


정방, 비정방 생성, 입력 및 저장, 출력 문제.

위의 코드를 실행시켜 보면 평균을 구할 때 내가 배열의 크기를 모르는 상태여도 코드가 돌아갈 수 있도록 짜고 싶었는데 아까 수업 시간에는 그게 안됐다.. 지금 보니 배열의 크기를 담는 len 함수를 선언하여 apt[0].length 값을 담은 다음에 sum / len 하면 될 거 같다. 지금 해보니까 돌아가네. 참고!! 행의 개수가 아닌 열의 개수다. 층별 관리비니까 5개 호실 == 5 == 열의 개수.
밑에 전체 관리비 평균도 int len2 = (apt.length*apt[0].length) 변수를 만들어서 sum / len2 하면 된다.

이렇게 출력이 된다.