gmin1=100000000;

 

for(i=0;i<7;i++)

{

g = k[i];            // i 값이 올라감에 따라 변하게 되는 g값.

 

if( g < gmin1 )   // g값의 최소값을 찾기위한 if문, 일단 gmin1이 대단히 큰수라서 초기값은 무조건 들어가게끔 해줬음.

{

xmin1 = i;         // xmin1을 보고 가장 작은 g값이 몇 번째 g값인지 알아보기 위해 업데이트 해준다.

gmin1 = g;       // 다음 g값과 비교하기 위해서 gmin1을 현재 최소값으로 업데이트 해준다.

}

}

 

gmin2=100000000; 

 

for(j=0;j<7;j++)

{

g = k[j];      // j 값이 올라감에 따라 변하게 되는 g값.

 

 if ( ( g < gmin2) && (gmin1 != g) )   // 위에 알고리즘과 똑같은데, 2번째 작은 g값을 찾기 위해서 gmin1 != g라는 조건을 추가했음.
 {
  xmin2 = j;
  gmin2 = g; 
 }

}

 

이렇게 하면 나오는게 뭐냐면 ex) k[0]=8, k[1]=1, k[2]=5, k[3]=4, k[4]=2, k[5]=3, k[6]=10. (k[i]의 값은 같은 두 값이 나오지 않는다고 가정. ex) k[0]=1, k[2]=1 이런경우는 없음 ) 일 때

 

xmin1=1이되고, gmin1=1

xmin2=4가 되고, gmin2=2가 나오게 되는데

 

이것을 for문 하나로 구현이 안될까 ?

 

머리가 빠가라서 for문을 난 2개를 썼어.