2013-04-18 1 views
-5

중첩 된 for 루프를 사용하여 2 차원 배열의 요소를 1 차원 배열로 가져 오려고합니다. 내가 바깥 쪽 루프에서 선언 된 색인 변수로 이것을 할 수 있고 내적 변수에서 이와 같이 증가시킬 수 있습니까? Java에서 중첩 된 for 루프. 바깥 쪽 변수를 선언하고 안쪽 변수를 증가시킬 수 있습니까?

for(int i=0, l=0; i<a; i++){ 
     for(int j=0; j<b ; i++; l++) 
      narray[l]=oldarray[i][j]; 
     } 

이 작업을 수행하여, 지금 일을 얻었다 :

int l = 0 
for(int i=0; i<a; i++){ 
    for(int j=0; j<b ; i++){ 
     narray[l]=oldarray[i][j]; 
     l++; 
} 
} 
+0

이 예제를 사용해 보셨습니까? 확실히 그 질문에 대한 답변 것입니다. – BlackVegetable

+0

내부 루프 내에서'i' 또는'l'을 수정하는 것 같지 않습니다 ... –

+0

루프 매개 변수에 l ++를 추가했습니다. 예제 프로그램을 만드는 중입니다. 하지만 나는 아주 빠르지 않아 여기에 글을 올릴지도 모른다는 생각이 들었다. –

답변

0

그래서 당신은 'A'행의 수와 'B'열 당신이 원하는과 매트릭스 (멀티 차원 배열)가 이 행렬을 1 차원 배열로 바꾼다.

int l = 0 
    for(int i=0; i<a; i++){ 
    for(int j=0; j<b ; j++){ 
     narray[l]=oldarray[i][j]; 
     l++; 
    } 
    } 

이 코드는 자바 유효 ..하지만 그렇게 가변 'l'이 완료 될 내부 루프까지 0을 유지한다 for 루프 실행한다 옆 단지 첫번째 라인 .. 루프 내측 보면 루프 ..이 경우에는 단지 새로운 배열 ..

이렇게 코드를 변경해야의 첫 번째 요소를 설정하므로 .. 새로운 배열 길이가 A * B를 할 것이다 (행 * 열)

int l = 0 
    for(int i=0; i<a; i++) 
    { 
     for(int j=0; j<b ; j++) 
     { 
     narray[l]=oldarray[i][j]; 
     l++; 
     } 
    } 
관련 문제