diff --git a/Lab 2/Lab_2.java b/Lab 2/Lab_2.java new file mode 100644 index 0000000..ab6b3e5 --- /dev/null +++ b/Lab 2/Lab_2.java @@ -0,0 +1,108 @@ +import java.util.Scanner; +import java.util.Arrays; + +public class Lab_2 { + + public static String format(int number) { + int width = String.valueOf(number).length() + 1; + String format = "|%" + width + "d "; + + return format; + } + + public static double average(short[] row) { + short sum = 0; + + for (short element : row) { + sum += element; + } + + double result = sum / row.length; + + return result; + } + + public static void main(String[] args) { + short a, rows = 0, columns = 0, width; + String format; + + Scanner input = new Scanner(System.in); + + do { + try { + System.out.println(); + System.out.print("Input a constant to multipy a matrix by: "); + + a = input.nextShort(); + break; + } catch (Exception e) { + System.out.println("A constant must be a short-data type integer, try again."); + input.nextLine(); + } + } while (true); + + System.out.println(); + System.out.println("Input size of the matrix."); + + do { + try { + System.out.print("Rows: "); + rows = input.nextShort(); + } catch (Exception e) { + System.out.println("A number of rows must be a short-data type integer, try again."); + input.nextLine(); + } + } while (rows <= 0); + + do { + try { + System.out.print("Columns: "); + columns = input.nextShort(); + } catch (Exception e) { + System.out.println("A number of columns must be a short-data type integer, try again."); + input.nextLine(); + } + } while (columns <= 0); + + short[][] matrix_B = new short[rows][columns]; + + System.out.println(); + System.out.println("Matrix B:"); + + format = format(rows * columns); + + for (short i = 0; i < rows; i++) { + for (short j = 0; j < columns; j++) { + matrix_B[i][j] = (short) ((i + 1) * (j + 1)); + + System.out.printf(format, matrix_B[i][j]); + } + + System.out.println("|"); + } + + System.out.println(); + System.out.println("Matrix a×B:"); + + format = format(rows * columns * a); + + for (short i = 0; i < rows; i++) { + for (short j = 0; j < columns; j++) { + matrix_B[i][j] *= (short) (a); + + System.out.printf(format, matrix_B[i][j]); + } + + System.out.println("|"); + } + + System.out.println(); + System.out.println("Averages of each row:"); + + for (short[] row : matrix_B) { + System.out.println(average(row)); + } + + input.close(); + } +}