Sa se scrie un program Java care citeste o matrice de la tastatura, extrage si
afiseaza cele trei matrici componente: submatricea superior triunghiulara, submatricea
inferior triunghiulara si submatricea diagonala.Restul elementelor din cele trei
submatrici vor fi initializate cu 0.
Răspunsuri la întrebare
Răspuns:
Salut!
public class Main {
public static void main(String[] args) {
int rows, columns;
Scanner scanner = new Scanner(System.in);
System.out.println("Introduceti numarul de randuri si de coloane ale matricei:");
rows = scanner.nextInt();
columns = scanner.nextInt();
int[][] matrix = new int[rows][columns];
System.out.println("Introduceti elementele matricei:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
matrix[i][j] = scanner.nextInt();
}
}
int[][] matrixUpperTriangle = new int[rows][columns];
int[][] matrixLowerTriangle = new int[rows][columns];
int[][] matrixDiagonal = new int[rows][columns];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
if (i < j) {
matrixUpperTriangle[i][j] = matrix[i][j];
} else if (i > j) {
matrixLowerTriangle[i][j] = matrix[i][j];
} else {
matrixDiagonal[i][j] = matrix[i][j];
}
}
}
System.out.println("Submatricea superioara triunghiulara:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrixUpperTriangle[i][j] + " ");
}
System.out.println();
}
System.out.println("Submatricea inferioara triunghiulara:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrixLowerTriangle[i][j] + " ");
}
System.out.println();
}
System.out.println("Submatricea diagonala:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrixDiagonal[i][j] + " ");
}
System.out.println();
}
}
}
Explicație:
Acest program citeste o matrice de la tastatura, extrage si afiseaza cele trei matrici componente: submatricea superior triunghiulara, submatricea inferior triunghiulara si submatricea diagonala. Submatricile sunt initializate cu 0.
In primul rand, programul cere utilizatorului sa introduca numarul de randuri si de coloane ale matricei. Apoi, se citesc elementele matricei.
Acum, creem trei matrici noi, pentru a salva submatricile componente. Parcurgem matricea initiala si verificam daca elementul curent se afla pe diagonala, deasupra diagonalei sau sub diagonala. In functie de rezultatul verificarii, elementul curent este transferat in matricea corespunzatoare.
In final, afisam submatricile componente.