Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программа для поиска максимального и минимального элементов матрицы

Автор:   •  Сентябрь 29, 2023  •  Лабораторная работа  •  2,073 Слов (9 Страниц)  •  120 Просмотры

Страница 1 из 9

Написать программу для поиска максимального и минимального элементов матрицы. Исходная матрица загружается из файла. Результат записывается в файл.

Main

package sample;

import javafx.application.Application;

import javafx.fxml.FXMLLoader;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.stage.Stage;

public class Main extends Application {

    @Override

    public void start(Stage primaryStage) throws Exception{

        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));

        primaryStage.setTitle("Hello World");

        primaryStage.setScene(new Scene(root, 690, 482));

        primaryStage.show();

    }

    public static void main(String[] args) {

        launch(args);

    }

}

Controller

package sample;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.net.URL;

import java.util.Arrays;

import java.util.ResourceBundle;

import javafx.fxml.FXML;

import javafx.scene.control.Button;

import javafx.scene.control.TextArea;

import javafx.scene.control.TextField;

public class Controller extends Matrix{

        @FXML

        private ResourceBundle resources;

        @FXML

        private URL location;

       @FXML

        private Button showFromFile;

        @FXML

        private Button inputInFileButton;

        @FXML

        private Button ButtonSearch;

        @FXML

        private TextField row1;

        @FXML

        private TextField col1;

        @FXML

        private Button inputButton;

        @FXML

        private TextArea textArea;

        private int firstRow, firstCol;

    Matrix matrix1;

    @FXML

    void initialize() {

        inputButton.setOnAction(event -> {

            firstRow = Integer.parseInt(row1.getText());

            firstCol = Integer.parseInt(col1.getText());

            matrix1 = new Matrix(firstRow, firstCol);

            printMatrix(matrix1);

        });

        ButtonSearch.setOnAction(event -> {

            Search(matrix1);

        });

        inputInFileButton.setOnAction(event -> {

            try {

                out(matrix1, "temp.txt");

            } catch (Exception e) {

                e.printStackTrace();

            }

        });

        showFromFile.setOnAction(event -> {

            try {

                in("temp.txt");

            } catch (Exception e) {

                e.printStackTrace();

            }

        });

    }

    void printMatrix(Matrix k){

        for (int r = 0; r < k.row; r++) {

            textArea.appendText(Arrays.toString(k.body[r]));

            textArea.appendText("\n");

        }

        for (int i = 0; i < k.clm; i++) {

            textArea.appendText("-------");

        }

        textArea.appendText("\n");

    }

    void Search(Matrix l) {

        int imin=0, imax=0, jmin=0, jmax=0;

        for (int i=0;i<l.row;i++){

            for (int j=0;j<l.clm;j++){

                if (l.body[i][j]>l.body[imax][jmax])

                {imax=i;

                    jmax=j;

                }

                if (l.body[i][j]<l.body[imin][jmin])

                {imin=i;

                    jmin=j;

                }

            }}

        textArea.appendText(Arrays.toString(new int[]{l.body[imax][imin]}));

        textArea.appendText(Arrays.toString(new int[]{l.body[jmax][jmin]}));

    }

    void out(Object k, String path) throws Exception{

        FileOutputStream fileOutputStream = new FileOutputStream(path);

        ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);

        objectOutputStream.writeObject(k);

        objectOutputStream.close();

    }

       Object in(String path) throws Exception{

        FileInputStream fileInputStream = new FileInputStream(path);

        ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);

        Matrix newMatrix = (Matrix) objectInputStream.readObject();

        objectInputStream.close();

        Search(newMatrix);

        return newMatrix;

    }

}

Matrix

package sample;

import java.io.Serializable;

import java.util.concurrent.ThreadLocalRandom;

public class Matrix implements Serializable {

...

Скачать:   txt (8.3 Kb)   pdf (177.9 Kb)   docx (115.4 Kb)  
Продолжить читать еще 8 страниц(ы) »
Доступно только на Essays.club