Informatică, întrebare adresată de alexeelena89, 8 ani în urmă

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 de Alex55567
2

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.

Sper ca te am ajutat! Raspunsul este mai sus.

Alte întrebări interesante