Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.lang.Math;
  3.  
  4. class Main {
  5. public static void main(String[] args) {
  6.  
  7. Scanner scan = new Scanner(System.in);
  8.  
  9. System.out.println("Enter the values for the first array, up to 10000 values, enter a negative number to quit");
  10.  
  11.  
  12. int len1 = 0;
  13. int value1 = 1;
  14. int i = 0;
  15.  
  16. int[] array1 = new int [10000];
  17. while (i < array1.length) {
  18. value1 = scan.nextInt();
  19.  
  20. if (value1 < 0) {
  21. break;
  22. }
  23. len1++;
  24. array1[i] = value1;
  25. i++;
  26. }
  27.  
  28. System.out.println("\n" + "Enter the values for the second array, up to 10000 values, enter a negative number to quit");
  29.  
  30. int len2 = 0;
  31. int value2 = 1;
  32. int j = 0;
  33.  
  34. int[] array2 = new int [10000];
  35. while (i < array2.length) {
  36. value2 = scan.nextInt();
  37.  
  38. if (value2 < 0) {
  39. break;
  40. }
  41. len2++;
  42. array2[j] = value2;
  43. j++;
  44. }
  45.  
  46. System.out.println("First Array:");
  47. for (int x = 0; x < len1; x++) {
  48. System.out.print(array1[x] + " ");
  49. }
  50.  
  51. System.out.println("\n" + "Second Array:");
  52. for (int k = 0; k < len2; k++) {
  53. System.out.print(array2[k]+ " ");
  54. }
  55.  
  56. Boolean order1 = true;
  57.  
  58. for (int b = 0; b < len1-1; b++) {
  59. if (array1[b] > array1[b+1]) {
  60. System.out.println("\n" + "ERROR: Array not in correct order");
  61. order1 = false;
  62. break;
  63. }
  64. }
  65.  
  66. Boolean order2 = true;
  67.  
  68. for (int n = 0; n < len2-1; n++) {
  69. if (array2[n] > array2[n+1]) {
  70. System.out.println("\n" + "ERROR: Array not in correct order");
  71. order2 = false;
  72. break;
  73. }
  74. }
  75.  
  76.  
  77. if (order1 && order2) {
  78.  
  79. int[] merged = new int[len1 + len2];
  80. int loc1 = 0;
  81. int loc2 = 0;
  82. int loc3 = 0;
  83.  
  84.  
  85. System.out.println("\n" + "Merged Array:");
  86.  
  87. while (loc3 < merged.length && loc1 < array1.length && loc2 < array2.length) {
  88. merged[loc3] = Math.min(array1[loc1],array2[loc2]);
  89. if (array1[loc1] >= array2[loc2]) {
  90. loc2++;
  91. }
  92. else {
  93. loc1++;
  94. }
  95. loc3++;
  96. }
  97.  
  98. while (loc3 < merged.length && (loc1 < array1.length || loc2 < array2.length)) {
  99. if (loc1 <= array1.length) {
  100. merged[loc3] = array1[loc1];
  101. }
  102. else {
  103. merged[loc3] = array2[loc2];
  104. }
  105. loc1++;
  106. loc2++;
  107. loc3++;
  108. }
  109.  
  110. for (int p = 0; p < merged.length; p++) {
  111. System.out.print(merged[p] + " ");
  112. }
  113.  
  114. }
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement