Add files via upload
This commit is contained in:
parent
3f7ed6860e
commit
c85bde4d42
|
@ -0,0 +1,78 @@
|
|||
import java.util.Scanner;
|
||||
import java.util.Random;
|
||||
|
||||
public class lab2 {
|
||||
public static void main(String[] args) {
|
||||
Scanner scan = new Scanner(System.in);
|
||||
|
||||
System.out.println("Введіть кількість рядків матриці А:");
|
||||
int mA = scan.nextInt();
|
||||
System.out.println("Введіть кількість стовпців матриці А:");
|
||||
int nA = scan.nextInt();
|
||||
System.out.println("Введіть кількість рядків матриці B:");
|
||||
int mB = scan.nextInt();
|
||||
if (nA != mB) {
|
||||
System.out.println("Щоб помножити матриці, потрібно, щоб кількість стовпців матриці А == кількості рядків матриці B");
|
||||
return;
|
||||
}
|
||||
System.out.println("Введіть кількість стовпців матриці B:");
|
||||
int nB = scan.nextInt();
|
||||
System.out.println("Границя значень у матрицях:");
|
||||
int upperbound = scan.nextShort();
|
||||
int[][] matrixA = new int[mA][nA];
|
||||
int[][] matrixB = new int[mB][nB];
|
||||
int[][] matrixC = new int[mA][nB];
|
||||
generationMatrixes(matrixA, matrixB, upperbound);
|
||||
printMatrixC(matrixA, matrixB, matrixC);
|
||||
AverageValueofElementsofEachColumn(matrixC);
|
||||
}
|
||||
|
||||
private static void AverageValueofElementsofEachColumn(int[][] matrixC) {
|
||||
System.out.println("Середнє значення елементів кожного стовпчика матриці:");
|
||||
System.out.print("||");
|
||||
for (int i = 0; i < matrixC.length; i++) {
|
||||
double sum = 0;
|
||||
for (int j = 0; j < matrixC[i].length; j++) {
|
||||
sum += matrixC[j][i];
|
||||
}
|
||||
System.out.printf(" %.2f ||", (sum) / matrixC.length);
|
||||
}
|
||||
}
|
||||
|
||||
private static void printMatrixC(int[][] matrixA, int[][] matrixB, int[][] matrixC) {
|
||||
for (int i = 0; i < matrixC.length; i++) {
|
||||
for (int j = 0; j < matrixC[i].length; j++) {
|
||||
for (int k = 0; k < matrixA[j].length; k++) {
|
||||
matrixC[i][j] += matrixA[i][k] * matrixB[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("Матриця С:");
|
||||
for (int i = 0; i < matrixC.length; i++) {
|
||||
for (int j = 0; j < matrixC[i].length; j++) {
|
||||
System.out.printf("|%4d", matrixC[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
}
|
||||
|
||||
private static void generationMatrixes(int[][] matrixA, int[][] matrixB, int upperbound) {
|
||||
Random rand = new Random();
|
||||
System.out.println("Матриця А:");
|
||||
for (short i = 0; i < matrixA.length; i++) {
|
||||
for (int j = 0; j < matrixA[i].length; j++) {
|
||||
matrixA[i][j] = rand.nextInt(upperbound);
|
||||
System.out.printf("|%4d", matrixA[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
System.out.println("Матриця B:");
|
||||
for (short i = 0; i < matrixB.length; i++) {
|
||||
for (int j = 0; j < matrixB[i].length; j++) {
|
||||
matrixB[i][j] = rand.nextInt(upperbound);
|
||||
System.out.printf("|%4d", matrixB[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue