absarray maxnum(absarray input)
{
if (i == 2)
{
return input;
}
else
{
if (input.index1 == 1 && input.index2 == 0) //처음 시도
{
savenum = input.arr[input.index1] - input.arr[input.index2];
input.saveindex = input.index1;
input.saveindex2 = input.index2;
input.index1++;
return maxnum(input);
}
else //본격적 비교 시작.
{
if (savenum < (input.arr[input.index1] - input.arr[input.index2])) //전의 비교한수와 다음 비교수
{
savenum = (input.arr[input.index1] - input.arr[input.index2]);
input.saveindex = input.index1; //좌표 저장.
input.saveindex2 = input.index2;
if (input.index1 > i - 1)
{
input.index2++;
input.index1 = input.index2 + 1;
}
if (input.index2 > i - 1)
{
return input;
}
return maxnum(input);
}
else
{
input.index1++; //다음 거 비교하기 위해 1칸 이동
if (input.index1 > i - 1) // 이동했는데 배열의 마지막 거보다 커져버리면 리셋
{
input.index2++;
input.index1 = input.index2 + 1;
}
if (input.index2 > i - 1)
{
return input;
}
return maxnum(input);
}
}
}
}
여기서 배열의 절대값 최대치 되는 두개의 원소를 찾아서 인덱스를 리턴 해야하는데 그냥 구조체로함 도우모 아리가또...... ㅎㅎ 재귀연습중인데
코드 간단하게 하는방법있을까용?
http://ideone.com/Jqv7T7
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.