Advertisement
kamasazi99

aiz 12 lab,laczenie

Jan 13th, 2020
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. package aiznatalia12;
  2. public class laczenien {
  3.  
  4. private int[] tt;
  5. private int[] temptab;
  6. private int dlugosc;
  7. private int [] c;
  8. public laczenien(int t[]) {
  9.  
  10. tt= t;
  11. dlugosc = t.length;
  12. temptab = new int[dlugosc];
  13. c=t;
  14. }
  15.  
  16.  
  17. public void scalanie(int [] tab, int [] tab2){
  18.  
  19. int[] tab_wynikowa;
  20.  
  21. int i, j, k;
  22.  
  23. //Wypisz zawartosc pierwszego ciagu
  24. System.out.println("Pierwszy ciag:");
  25. for (int e : tab) {
  26. System.out.print(e + ", ");
  27. }
  28. //Wypisz zawartosc drugiego ciagu
  29. System.out.println("\nDrugi ciag:");
  30. for (int e : tab2) {
  31. System.out.print(e + ", ");
  32. }
  33.  
  34. //Utworz tablice wynikowa
  35. tab_wynikowa = new int[dlugosc];
  36.  
  37. //Bierz mniejsza wartosc z pierwszego badz drugiego ciagu,
  38. //dopoki zaden z nich sie nie skonczy
  39. for (i = j = k = 0; i < tab.length && j < tab2.length; k++) {
  40. if (tab[i] < tab2[j]) {
  41. tab_wynikowa[k] = tab[i];
  42. ++i;
  43. } else {
  44. tab_wynikowa[k] = tab2[j];
  45. ++j;
  46. }
  47. }
  48.  
  49. //Jeden z ciagow sie skonczyl dopisz do wyniku pozostaly
  50. if (i < tab.length) {
  51. for (; i < tab.length; i++, k++) {
  52. tab_wynikowa[k] = tab[i];
  53. }
  54. } else {
  55. for (; j < tab2.length; j++, k++) {
  56. tab_wynikowa[k] = tab2[j];
  57. }
  58. }
  59.  
  60. //Wypisz wynik
  61. System.out.println("\nCiag wynikowy:");
  62. for (int e : tab_wynikowa) {
  63. System.out.print(e + ", ");
  64. //c[e]=tab_wynikowa[e];
  65. }
  66. }
  67.  
  68.  
  69. public void laczenienaturalne(int [] c){
  70. int [] a=new int [dlugosc]; int ia=0, ib=0, ic=0;
  71. int [] b=new int [dlugosc];
  72. int [] aa; int [] bb;
  73. //c=tab;
  74. //dzielenie
  75. int ta=-1;
  76. int pom=0; //a=0, b=1
  77. for(int i=0; i<dlugosc; i++){
  78.  
  79. if(c[i]>ta){
  80. if(pom==0){
  81. a[ia]=c[i]; ia++; pom=0;
  82.  
  83. }
  84. if(pom==1){
  85. b[ib]=c[i]; ib++; pom=1;
  86.  
  87. }
  88. }
  89. else{
  90. if(pom==0){
  91.  
  92. b[ib]=c[i]; ib++;
  93. }
  94. else { a[ia]=c[i]; ia++;}
  95. }
  96.  
  97. ta=c[i];
  98. }
  99. aa=new int [ia]; bb=new int [ib];
  100. for(int i=0; i<ia; i++){
  101. aa[i]=a[i];
  102. }
  103. for(int i=0; i<ib; i++){
  104. bb[i]=b[i];
  105. }
  106. scalanie(aa,bb);
  107. System.out.println("a,b"+ia+ib);
  108. if(ia<=1 || ib<=1) {
  109. System.out.println("koniec");
  110. for(int i=0; i<dlugosc; i++){
  111. System.out.print(c[i]+" , ");
  112. }}
  113.  
  114. else{
  115. laczenienaturalne(c);
  116. }
  117. }
  118.  
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement