134 lines
4.5 KiB
Java
134 lines
4.5 KiB
Java
public class Lab2 {
|
||
public static void main(String[] args) {
|
||
final int A = 2;
|
||
final int[][] MATRIX_B = {
|
||
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
|
||
{1, 202, 1, 1, 202, 3, 1, 202, 3, 4},
|
||
{1, 1, 3, 1, 202, 3, 1, 202, 3,},
|
||
// {4, 5, 6,},
|
||
};
|
||
|
||
int[][] MATRIX_C = multiplication(A, MATRIX_B);
|
||
|
||
print(MATRIX_C);
|
||
|
||
// System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumn(MATRIX_C));
|
||
try {
|
||
System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumnRenew(MATRIX_C));
|
||
System.out.println("???...");
|
||
} catch (Exception e) {
|
||
System.err.println(e.getMessage());
|
||
}
|
||
|
||
System.out.println("I'm still working...");
|
||
|
||
/*int[] array = {1, 2, 3};
|
||
int[] array2 = new int[3];
|
||
Object[] array3 = new String[3];
|
||
System.out.println(array3[0]); //nothing, trash from the memory, null || null
|
||
System.out.println(array2[0]); //nothing, trash from the memory, null || 0
|
||
System.out.println(array[0]); // || 1
|
||
|
||
int[][] matrix2 = new int[2][3];
|
||
matrix2[0] = new int[2];
|
||
matrix2[1] = new int[1];
|
||
for (int i = 0; i < array.length; i++) {
|
||
if (i % 2 == 0) {
|
||
System.out.println("!" + array[i]);
|
||
} else {
|
||
System.out.println("?" + array[i]);
|
||
}
|
||
}
|
||
|
||
for (int i = 0; i < array.length; i+=2) {
|
||
System.out.println("!" + array[i]);
|
||
}
|
||
|
||
for (int i = 1; i < array.length; i+=2) {
|
||
System.out.println("?" + array[i]);
|
||
}
|
||
|
||
// зубчасті матриці
|
||
int[][] matrix = {
|
||
{1, 2},
|
||
{3}
|
||
};
|
||
|
||
// C=a×B, a - const
|
||
|
||
|
||
// final int[][] MATRIX_C = int;
|
||
|
||
|
||
MATRIX_B[0][0] = 2;
|
||
MATRIX_B[0] = new int[]{1, 2};
|
||
System.out.println(MATRIX_B[0][0]);
|
||
MATRIX_B = new int[][]{
|
||
{1, 2},
|
||
{3}
|
||
};*/
|
||
}
|
||
|
||
private static int sumOfSmallestElementsInEveryColumn(final int[][] MATRIX_C) {
|
||
// todo check different length of rows
|
||
// todo try to change i and j
|
||
// todo check repetition of minimal elements
|
||
int sum = 0;
|
||
for (int i = 0; i < MATRIX_C[0].length; i++) {
|
||
int tmpSmallest = MATRIX_C[0][i];
|
||
for (int j = 1; j < MATRIX_C.length; j++) {
|
||
if (MATRIX_C[j][i] < tmpSmallest) {
|
||
tmpSmallest = MATRIX_C[j][i];
|
||
}
|
||
}
|
||
sum += tmpSmallest;
|
||
}
|
||
return sum;
|
||
}
|
||
|
||
private static int sumOfSmallestElementsInEveryColumnRenew(final int[][] MATRIX_C) throws Exception {
|
||
// todo check different length of rows
|
||
for (int i = 1; i < MATRIX_C.length; i++) {
|
||
if (MATRIX_C[i].length != MATRIX_C[0].length) {
|
||
throw new /*Runtime*/Exception("There are different lengths of matrix rows.");
|
||
// System.err.println("There are different lengths of matrix rows.");
|
||
// System.exit(0);
|
||
}
|
||
}
|
||
// todo check repetition of minimal elements
|
||
int sum = 0;
|
||
for (int j = 0; j < MATRIX_C[0].length; j++) {
|
||
int tmpSmallest = MATRIX_C[0][j];
|
||
for (int i = 1; i < MATRIX_C.length; i++) {
|
||
if (MATRIX_C[i][j] < tmpSmallest) {
|
||
tmpSmallest = MATRIX_C[i][j];
|
||
}
|
||
}
|
||
sum += tmpSmallest;
|
||
}
|
||
return sum;
|
||
}
|
||
|
||
private static void print(final int[][] MATRIX_C) {
|
||
for (int i = 0; i < MATRIX_C.length; i++) {
|
||
for (int j = 0; j < MATRIX_C[i].length; j++) {
|
||
// System.out.print(MATRIX_C[i][j] + "\t");//printf("%4d",
|
||
System.out.printf("%4d ", MATRIX_C[i][j]);//printf("%4d",
|
||
}
|
||
System.out.println();
|
||
}
|
||
}
|
||
|
||
private static int[][] multiplication(int A, final int[][] MATRIX_B) {
|
||
final int[][] MATRIX_C = new int[MATRIX_B.length][/*MATRIX_B[0].length*/]; // todo !!!DANGER different lengths of rows
|
||
// final int[][] MATRIX_C = MATRIX_B;
|
||
for (int i = 0; i < MATRIX_B.length; i++) {
|
||
MATRIX_C[i] = new int[MATRIX_B[i].length];
|
||
for (int j = 0; j < MATRIX_B[i].length; j++) {
|
||
MATRIX_C[i][j] = MATRIX_B[i][j] * A;
|
||
}
|
||
}
|
||
return MATRIX_C;
|
||
}
|
||
}
|