E[a][b] 행렬에서
a>b일때
시작점은
E[a-b-1][b-(a-b)]
여기선 x--식으로 먼저 진행되어야하고
이는 [x > (a-(a-b))] 까지 진행되어야함
6x4
0 9 0 0
0 8 1 0
0 7 2 0
0 6 3 0
0 5 4 0
0 0 0 0
이 경우 시작점은 E[6-4-1][4-(6-4)] 이러한 값을 갖는 E[1][2]에서 시작되어야함
이건 E[x][y]에서 [x]가 6-(6-4)값을 갖는 4까지 가야하지 E[4][2]까지말야
그다음 y의 왼쪽으로 가는 값을 담당하는 값은 초기값인 E[1][2]에서 2를 저장 한 다음 그 값에 --연산을 해서 거기까지 다시 도달.
즉 5의 위치까지 값을 넣게 되어있고
그 다음 x의 위쪽으로 가는 값을 담당하는 값은 초기값은 E[1][2]에서 1을 저장 한 다음 그 값에 --연산을 해서 거기까지 도달
즉 9이 위치까지 값을 넣게 되어있고
이제 다음부턴 알겠지?? 9에서 초기값에 들어간 열 값에 ++연산한 값을 저장한 곳 까지 달리면 되고
그 다음은 4까지 갔던 값에서 ++연산한 값을 저장한 곳 까지 달리면 되는 식
a<b인 행렬은 반대로 하는 식
연산의 시작방향부터 해서
결국 이는 처음에 배열 E[a][b]에서 a와 b의 값을 비교를 한 다음 시작해야 하는겅미
수학꼴통이 여까지 했는데 duel1945@naver.com 기특해서 피자라도 보내주시면 감사히 먹고 더 열심히 공부하겠음 ㅜㅜ
정사각행렬은 그냥 int w,h; 값을 반 나눈 값에서 시작하면 됨
열 먼저 계산하고
봐도 모르겠음
지금 급하게 걍 막 쓴거라 좀 틀린 부분도 있음 -1이런거 더 써야한다던지