Advertisement
Guest User

tablica 2-wymiarowa ๐Ÿ˜‚

a guest
Nov 8th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. public class Tablica2 {
  4.  
  5. int[][] nTab2;
  6. int sizeX, sizeY;
  7.  
  8. private Tablica2 (int x, int y) {
  9. sizeX = x;
  10. sizeY = y;
  11. nTab2 = new int[x][y];
  12. }
  13.  
  14. private void tabFill(int k) {
  15. Random r = new Random();
  16. for (int i = 0; i < sizeX; i++) {
  17. for (int j = 0; j < sizeY; j++) {
  18. int ran = r.nextInt(k);
  19. nTab2[i][j] = ran;
  20. }
  21. }
  22. }
  23.  
  24. private void tabDisplay() {
  25. System.out.println("");
  26. for (int i = 0; i < sizeX; i++) {
  27. for (int j = 0; j < sizeY; j++) {
  28. System.out.print(nTab2[i][j] + " ");
  29. if (j == sizeY-1) {
  30. System.out.print("\n");
  31. }
  32. }
  33. }
  34. System.out.println("");
  35. }
  36.  
  37. private void tabDisplayTrans() {
  38. for (int i = 0; i < sizeY; i++) {
  39. for (int j = 0; j < sizeX; j++) {
  40. System.out.print(nTab2[j][i] + " ");
  41. if (j == sizeX-1) {
  42. System.out.print("\n");
  43. }
  44. }
  45. }
  46. System.out.println("");
  47. }
  48.  
  49. private int tabSum() {
  50. int Sum = 0;
  51. for (int i = 0; i < sizeX; i++) {
  52. for (int j = 0; j < sizeY; j++) {
  53. Sum += nTab2[i][j];
  54. }
  55. }
  56. return Sum;
  57. }
  58.  
  59. private void tabMaxEl() {
  60. int max = nTab2[0][0];
  61. int x = 0;
  62. int y = 0;
  63. for (int i = 0; i < sizeX; i++) {
  64. for (int j = 0; j < sizeY; j++) {
  65. if (nTab2[i][j] > max) {
  66. max = nTab2[i][j];
  67. x = i;
  68. y = j;
  69. }
  70. }
  71. }
  72. System.out.println("Najwieksza wartosc to " + max + ", na pozycji [" + x + ", " + y + "]");
  73. }
  74.  
  75. public void tabFindEl(int nFind) {
  76. boolean found = false;
  77. for (int i = 0; i < sizeX; i++) {
  78. for (int j = 0; j < sizeY; j++) {
  79. if (nTab2[i][j] == nFind) {
  80. System.out.println("Znaleziono " + nFind + " na pozycji [" + i + ", " + j + "]");
  81. found = true;
  82. }
  83. }
  84. }
  85. if (found == false) System.out.println("[-1, -1]");
  86. }
  87.  
  88. public int tabBiggestRow() {
  89. int maxRow = 0;
  90. int maxSum = 0;
  91. int currSum = 0;
  92. for (int i = 0; i < sizeX; i++) {
  93. currSum = 0;
  94. for (int j = 0; j < sizeY; j++) {
  95. currSum += nTab2[i][j];
  96. if (currSum > maxSum) {
  97. maxSum = currSum;
  98. maxRow = i;
  99. }
  100. }
  101. }
  102.  
  103. System.out.println("Wiersz " + maxRow + " ma najwieksza sume " + maxSum);
  104. return maxRow;
  105. }
  106.  
  107. public void tabDelRow(int DelRowNum) {
  108. int n = DelRowNum;
  109. for (int i = 0; i < sizeX; i++) {
  110. if (i == n && i != sizeX-1) {
  111. for (int j = 0; j < sizeY; j++) {
  112. nTab2[i][j] = nTab2[i+1][j];
  113. n++;
  114. }
  115. }
  116. }
  117. sizeX--;
  118. }
  119.  
  120. public static void main(String[] args) {
  121. Tablica2 tab1 = new Tablica2(6, 5);
  122. tab1.tabFill(20);
  123. tab1.tabDisplay();
  124. tab1.tabDisplayTrans();
  125. System.out.println("Suma elementow: " + tab1.tabSum());
  126. tab1.tabMaxEl();
  127. tab1.tabFindEl(13);
  128. tab1.tabDelRow(tab1.tabBiggestRow());
  129. tab1.tabDisplay();
  130. }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement