Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.io.File;
  4. import java.util.Optional;
  5. import java.util.Scanner;
  6. import java.util.stream.Stream;
  7.  
  8. public class Main {
  9.  
  10. private int x, y;
  11. private Scanner input = new Scanner(System.in);
  12.  
  13. @FunctionalInterface
  14. interface ArrayOperation {
  15. int execute(int x, int y);
  16. }
  17.  
  18. private int[][] rewriteArray(int[][] array, ArrayOperation operation) {
  19. for (int i = 0; i < array.length; i++)
  20. for (int j = 0; j < array[0].length; j++)
  21. array[i][j] = operation.execute(i, j);
  22. return array;
  23. }
  24.  
  25. private void printTable(int[][] array) {
  26. Stream.of(array).forEach(arr -> {
  27. for (int num : arr)
  28. System.out.printf("%5d\n", num);
  29. });
  30. }
  31.  
  32. private int[][] createArray(final int N, int M, int min, int max) {
  33. return rewriteArray(new int[N][M], (x, y) -> (int) (Math.random() * (max - min - 1) + min));
  34. }
  35.  
  36. private int[][] makeArray() {
  37. System.out.println("Введите N: ");
  38. x = input.nextInt();
  39. System.out.println("Введите M: ");
  40. y = input.nextInt();
  41. return rewriteArray(new int[x][y], (x, y) -> {
  42. System.out.printf("A[%d][%d]=", x, y);
  43. return input.nextInt();
  44. });
  45. }
  46.  
  47. private Optional<int[][]> fileArray(String filename) {
  48. if (new File(filename).exists() && input.hasNextInt()) {
  49. int n = input.nextInt();
  50. if (input.hasNextInt()) {
  51. int m = input.nextInt();
  52. return Optional.of(rewriteArray(
  53. new int[n][m],
  54. (x, y) -> input.hasNextInt() ? input.nextInt() : 0
  55. ));
  56. }
  57. input.close();
  58. }
  59. return Optional.empty();
  60. }
  61.  
  62. public static void main(String[] args) {
  63. Main main = new Main();
  64.  
  65. int max = Integer.MIN_VALUE;
  66. int row = 0, col = 0;
  67. int[][] array = main.makeArray();
  68. for (int i = 0; i < main.getX(); i++) {
  69. for (int j = 0; j < main.getY(); j++) {
  70. if (array[i][j] > max) {
  71. max = array[i][j];
  72. row = i;
  73. col = j;
  74. }
  75. }
  76. }
  77.  
  78. System.out.println("Ответ: \nМассив: ");
  79. main.printTable(array);
  80. System.out.printf("Максимальный элемент: %d\nСтрока: %d\nСтолбец: %d", max, row, col);
  81. }
  82.  
  83. private int getX() {
  84. return x;
  85. }
  86.  
  87. private int getY() {
  88. return y;
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement