Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileWriter;
- import java.io.IOException;
- public class Main {
- static int[] getMax(int[][] mass) {
- int[] maxArr = new int[mass.length];
- for (int j = 0; j < mass.length; j++) {
- int Max = mass[0][j];
- for (int i = 1; i < mass.length; i++) {
- if (mass[i][j] > Max) {
- Max = mass[i][j];
- }
- }
- maxArr[j] = Max;
- }
- return maxArr;
- }
- static int[] getMin(int[][] mass) {
- int[] minArr = new int[mass.length];
- for (int i = 0; i < mass.length; i++) {
- int Min = mass[i][0];
- for (int j = 1; j < mass.length; j++) {
- if (mass[i][j] < Min) {
- Min = mass[i][j];
- }
- }
- minArr[i] = Min;
- }
- return minArr;
- }
- private static int currentIndex = -1;
- private static Integer next(String numbers[]) {
- ++currentIndex;
- while (currentIndex < numbers.length
- && numbers[currentIndex].equals(""))
- ++currentIndex;
- return currentIndex < numbers.length ?
- Integer.parseInt(numbers[currentIndex]) :
- null;
- }
- static void getPoint(int[][] mass, int[] minArr, int[] maxArr) throws IOException {
- FileWriter out = new FileWriter("D:\\Labs\\labs 2-3\\result Java\\result.txt");
- int res = 0;
- for (int i = 0; i < mass.length; i++) {
- for (int j = 0; j < mass.length; j++) {
- if (mass[i][j] == minArr[i] && mass[i][j] == maxArr[j]) {
- out.write("Седловой точкой является число " + (mass[i][j]) + " в " + (i + 1) + "-ой стороке " + (j + 1) + "-ого столбца.");
- res += 1;
- }
- }
- }
- if (res == 0) {
- out.write("В данной матрице седловых точек нет.");
- }
- out.close();
- }
- public static void main(String[] args) throws IOException {
- FileInputStream in = new FileInputStream("D:\\Labs\\labs 2-3\\text\\task.txt");
- byte[] str = new byte[in.available()];
- in.read(str);
- String text = new String(str);
- String[] numbers = text.split("\\D");
- int i, j;
- int n = next(numbers);
- int[][] Mass = new int[n][n];
- for (i = 0; i < n; ++i) {
- for (j = 0; j < n; ++j) {
- Mass[i][j] = next(numbers);
- }
- }
- in.close();
- getPoint(Mass, getMin(Mass), getMax(Mass));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement