Programme Java pour accepter une matrice d'ordre M*N et échanger les diagonales
Dans ce tutoriel, nous allons apprendre à accepter une matrice d'ordre M*N et à échanger les diagonales. Mais avant d'aller plus loin, si vous n'êtes pas familier avec les concepts du tableau, alors consultez l'article Tableaux en Java.
Saisie : Saisissez les éléments de la matrice :
1 2 3
6 5 4
7 8 9
Sortie :
3 2 1
4 5 6
9 8 7
Programme 1 :Intervertir les diagonales d'une matrice
Dans ce programme, nous verrons comment accepter la matrice d'ordre M*N et échanger les diagonales avec des valeurs définies par l'utilisateur.
Algorithme
- Commencer
- Déclarez des variables pour la taille de la matrice.
- Demander à l'utilisateur d'initialiser les lignes et les colonnes de la matrice
- Vérifiez si le nombre de lignes et de colonnes est égal ou non.
- Si égal, demander à l'utilisateur d'initialiser la matrice.
- Imprimez la matrice d'origine.
- Échangez les éléments diagonaux.
- Imprimer la matrice échangée.
- Si les lignes et les colonnes ne sont pas égales, imprimez le même message.
- Arrêter
Vous trouverez ci-dessous le code correspondant.
//Java Program to interchange the diagonals*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
// declare variables
int m, n, temp;
// To take input from the user
Scanner sc = new Scanner(System.in);
System.out.println("Enter number of rows ");
// Initialize the number of rows
m = sc.nextInt();
System.out.println("Enter number of columns ");
// Initialize the number of columns
n = sc.nextInt();
// declare a mxn order array
int a[][] = new int[m][n];
// Interchange the diagonals only when it is a square matrix
if (m == n)
{
System.out.println("Enter all the values of matrix ");
// Initialize the matrix elements
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = sc.nextInt();
}
}
System.out.println("Original Matrix:");
// print the original matrix
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println("");
}
// Interchange the diagonals by swapping
for (int j = 0; j < m; j++)
{
temp = a[j][j];
a[j][j] = a[j][n - 1 - j];
a[j][n - 1 - j] = temp;
}
System.out.println("After interchanging diagonals of matrix ");
// print interchanged matrix
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println("");
}
}
else
{
System.out.println("Rows not equal to columns");
}
}
}
Entrez le nombre de lignes 3
Entrez le nombre de colonnes 3
Entrez toutes les valeurs de la matrice 1 2 3 4 5 6 7 8 9
Matrice originale :
1 2 3
4 5 6
7 8 9
Après avoir interverti les diagonales de la matrice
3 2 1
4 5 6
9 8 7
Programme 2 :Intervertir les diagonales d'une matrice
Dans ce programme, nous verrons comment accepter la matrice d'ordre M*N et échanger les diagonales avec des valeurs prédéfinies.
Algorithme
- Commencer
- Déclarez et initialisez la taille de la matrice.
- Vérifiez si le nombre de lignes et de colonnes est égal ou non.
- Si égal, alors initialiser les éléments de la matrice.
- Imprimez la matrice d'origine.
- Appeler une méthode pour échanger les diagonales.
- Échangez les éléments diagonaux.
- Imprimer la matrice échangée.
- Si les lignes et les colonnes ne sont pas égales, imprimez le même message.
- Arrêter
Vous trouverez ci-dessous le code correspondant.
//Java Program to interchange the diagonals*/
import java.util.*;
public class Main
{
//Method to interchange the diagonals
static void interchangeDiagonals(int arr[][])
{
int temp=0;
int m=arr.length; //Variable to store the number of rows
int n=arr[0].length; //Variable to store the number of columns
System.out.println("Original Matrix:");
// print the original matrix
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
// Interchange the diagonals by swapping
for (int j = 0; j <m; j++)
{
temp = arr[j][j];
arr[j][j] = arr[j][n - 1 - j];
arr[j][n - 1 - j] = temp;
}
System.out.println("After interchanging diagonals of matrix ");
// print interchanged matrix
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
}
public static void main(String[] args)
{
// declare variables
int rows=3, columns=3;
// Interchange the diagonals only when it is a square matrix
if (rows == columns)
{
int arr[][] = { { 2, 9, 8 }, { 7, 6, 4 }, { 3, 9, 2 } }; //Matrix Declaration
interchangeDiagonals(arr);
}
else
{
System.out.println("Rows not equal to columns");
}
}
}
Matrice d'origine :
2 9 8
7 6 4
3 9 2
Après avoir interverti les diagonales de la matrice
8 9 2
7 6 4
2 9 3