처음에는 분명히 멍청한데, 거꾸로 생각하거나, 정확하게 사이트에 새로운 것을 게시하지 않은 것을 사과드립니다. 나는 이것에 관해 갈 무한한 더 좋은 방법이 있다고 확신하지만, 나와 함께 견딜 수 있고 나를 도와 주면 위대 할 것입니다.가장 가까운 점수를 얻는 초보자 용 프로그램을 만들고 붙어 있어요
아이디어는 각 좌표 쌍에 거리 값을 부여한 다음 가장 가까운 거리 값을 선택하여 가장 가까운 점을 찾는 것입니다.
먼저 쌍을 만들 때 중복을 피하는 데 어려움이 있습니다.
내가 원하는 : AB AC 광고 AE BA BC BD는 CA CB CD CE DA DB DC DE EA EB EC ED
둘째 BE : AB AC 광고 AE BC BD가
대신 점점 CD CE DE BE 가장 낮은 거리 값을 찾으면 원래 좌표 쌍을 다시 참조하는 좋은 방법을 생각할 수 없습니다. modulus하지만 idk를 사용하려고 생각했습니다.
마지막으로 가장 가까운 두 개의 넥타이가 있는지 찾는 방법.
public static void main(String[] args) {
int a[][] = new int[5][2];
int b[] = new int[20];
int c[] = new int[20];
int d[] = new int[20];
int sum = 0;
int count = 0;
int temp = 0;
for (int i = 0 ; i < a.length ; i++) {
for (int j = 0 ; j < a[i].length ; j++) {
a[i][j] = (int)(Math.random() * 10);
}
}
for (int i = 0 ; i < a.length ; i++) {
for (int j = 0 ; j < a[i].length ; j++) {
System.out.print(a[i][j]);
}
System.out.println(" ");
}
for (int i = 0 ; i < a.length ; i++) {
for (int j = 0 ; j < a.length ; j++) {
if(i == j){}
else{
temp = a[i][0]- a[j][0];
temp= Math.abs(temp);
b[count]=temp;
count++;
}
}
}
count=0;
for (int i = 0 ; i < a.length ; i++) {
for (int j = 0 ; j < a.length ; j++) {
if(i == j){
}
else{
temp = a[i][1]- a[j][1];
temp= Math.abs(temp);
c[count]=temp;
count++;
}
}
}
for (int i = 0 ; i < b.length ; i++) {
System.out.println(b[i]+ " " + c[i]);
}
System.out.println(" ");
for (int i =0 ; i<d.length;i++){
d[i]=b[i]+c[i];
}
for (int i = 0 ; i < d.length ; i++) {
System.out.println(d[i]);
}
System.out.println(" ");
for (int i = 0 ; i < d.length ; i++) {
if (d[i]== 0){
System.out.println(i);
break;
}
else if(d[i]== 1){
System.out.println(i);
break;
}
else if (d[i]== 2){
System.out.println(i);
break;
}
}
}
}