Guest User

Untitled

a guest
Oct 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. package test;
  2.  
  3. public class Main {
  4. static void print(int[] a, int index) {
  5. for (int i = 0; i < a.length - 1; i++)
  6. System.out.print(a[i] + ", ");
  7. System.out.println(a[a.length - 1]);
  8. for (int i = 0; i < a.length; i++) {
  9. int k = 1, t = a[i];
  10. if (t>=0) {} else {t=-t; k++;}
  11. while ((t = t / 10) > 0)
  12. k++;
  13. StringBuilder sb = new StringBuilder("");
  14. while (k-- > 0)
  15. sb.append(" ");
  16. String s = sb.toString();
  17. System.out.print(i == index ? "^" + s + " " : s + " ");
  18.  
  19. }
  20. System.out.println();
  21. }
  22.  
  23. static int delta(int x1, int x2) {
  24. return Math.abs(x1 - x2);
  25. }
  26.  
  27. static void find(int[] a1, int[] a2) {
  28. int[] min = new int[3];
  29. min[0] = delta(a1[0], a2[a2.length - 1]) > delta(a1[a1.length - 1], a2[0]) ? delta(a1[0], a2[a2.length - 1])
  30. : delta(a1[a1.length - 1], a2[0]);
  31. for (int i = 0; i < a1.length; i++)
  32. for (int j = 0; j < a2.length; j++)
  33. if (delta(a1[i], a2[j]) <= min[0]) {
  34. min[0] = delta(a1[i], a2[j]);
  35. min[1] = i;
  36. min[2] = j;
  37. }
  38. print(a1,min[1]);
  39. print(a2,min[2]);
  40. System.out.println("n");
  41. System.out.println("Result delta = "+min[0]);
  42. }
  43.  
  44. public static void main(String[] args) {
  45. int[] a1 = { 1, 4, 8, 12, 18, 328, 99482}, a2 = {35, -27, 325, 9482};
  46. find(a1, a2);
  47. }
  48. }
  49.  
  50. out:
  51. 1, 4, 8, 12, 18, 328, 99482
  52. ^
  53. 35, -27, 325, 9482
  54. ^
  55.  
  56.  
  57. Result delta = 3
Add Comment
Please, Sign In to add comment