Java-program til at udveksle to rækker og kolonner i den givne matrix
I denne øvelse lærer vi, hvordan du udveksler to rækker og kolonner i den givne matrix. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.
Nedenfor er den billedlige repræsentation af udvekslingen af to rækker og kolonner i den givne matrix.
Input: Indtast matrixen:
1 2 3
4 5 6
7 8 9
Output: Efter udskiftning af rækker:2 og 3
1 2 3
7 8 9
4 5 6
Efter udskiftning af kolonner:1 og 3
3 2 1
9 8 7
6 5 4
Program 1:Udskift to rækker og kolonner
I dette program vil vi se, hvordan man kan udveksle to rækker og kolonner i den givne matrix, når værdierne er brugerdefinerede.
Algorithme
- Start
- Deklarer variabler for rækker og kolonnestørrelse.
- Bed brugeren om at initialisere antallet af rækker og kolonner.
- Deklarer en matrix med den størrelse.
- Bed brugeren om at initialisere matrixen.
- Udskriv den oprindelige matrix.
- Brug en while-løkke til at kontrollere, om brugeren ønsker at udskifte rækkerne eller kolonnen eller ingen.
- Brug sløjfer til at udveksle henholdsvis rækker og kolonner.
- Spørg brugeren, hvilke to rækker eller kolonner han/hun vil udveksle.
- Baseret på det skift rækker eller kolonneelementer.
- Vis resultatet.
- Stop
Nedenfor er koden til det samme.
/*Java Program to interchange any two rows and columns in the given matrix*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
int m,n; //Declare the variables for rows and columns
//Take input from the user
Scanner sc = new Scanner(System.in);
System.out.print("Enter number of rows in matrix:");
m = sc.nextInt(); //Initialize the number of rows
System.out.print("Enter number of columns in matrix:");
n = sc.nextInt(); //Initialize the number of columns
int arr[][] = new int[m][n]; //Declare a Matrix
System.out.println("Enter all the elements of matrix:");
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
arr[i][j] = sc.nextInt();
}
}
//Print the original matrix
System.out.println("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("");
}
//Check whether user want to interchange rows or columns
while (true)
{
System.out.println("Enter 1 to interchange rows");
System.out.println("Enter 2 to interchange columns");
System.out.println("Enter 3 to Exit");
int n1=sc.nextInt();
switch (n1)
{
case 1:
//Enter the rows whose datas you want to interchange
System.out.println("Enter the row numbers:");
int x = sc.nextInt();
int y = sc.nextInt();
int temp=0;
for(int i = 0; i < m; i++)
{
temp = arr[(x-1)][i];
arr[x-1][i] = arr[y-1][i];
arr[y-1][i] = temp;
}
//Print the matrix after interchanging elements
System.out.println("Matrix after interchanging rows:"+x +" and "+y);
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
break;
case 2:
//Enter the columns whose datas you want to interchange
System.out.println("Enter the column numbers:");
int p = sc.nextInt();
int q = sc.nextInt();
int temp1=0;
for(int i = 0; i < p; i++)
{
temp1 = arr[i][(p-1)];
arr[i][p-1] = arr[i][(q-1)];
arr[i][q-1] = temp1;
}
//Print the matrix after interchanging elements
System.out.println("Matrix after interchanging columns:"+p +" and "+q);
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
break;
case 3:
//Exit from the program
System.exit(0);
}
}
}
}
Indtast antallet af rækker i matrix:3
Indtast antallet af kolonner i matrix:3
Indtast alle elementerne i matrix:1 2 3 4 5 6 7 8 9
Originalen Matrix:
1 2 3
4 5 6
7 8 9
Indtast 1 for at udskifte rækker
Indtast 2 for at udveksle kolonner
Indtast 3 for at afslutte
1
Indtast rækkenumrene:3 2
Matrix efter udskiftning af rækker:3 og 2
1 2 3
7 8 9
4 5 6
Indtast 1 for at udskifte rækker
Indtast 2 for at udveksle kolonner
Indtast 3 for at afslutte
2
Indtast kolonnenumrene:1 3
Matrix efter udskiftning af kolonner:1 og 3
3 2 1
7 8 9
4 5 6
Indtast 1 for at udskifte rækker
Indtast 2 for at udveksle kolonner
Indtast 3 for at afslutte
3
Program 2:At udveksle to rækker og kolonner
I dette program vil vi se, hvordan man kan udveksle to rækker og kolonner i den givne matrix, når værdierne er foruddefinerede.
Algorithme
- Start
- Deklarer og initialiser matrixen.
- Udskriv den originale matrix.
- Indtast de kolonner, der skal udskiftes.
- Kald metoden til at udveksle kolonnerne.
- Skift tallene for at udskifte kolonnerne.
- Udskriv matrixen efter udskiftning af kolonner.
- Kald nu en metode til at udveksle rækkerne.
- Skift tallene for at udskifte rækkerne.
- Udskriv matrixen efter udskiftning af rækker.
- Stop.
Nedenfor er koden til det samme.
/*Java Program to interchange any two rows and columns*/
import java.io.*;
public class Main
{
//To Print the arr
public static void printMatrix(int[][] arr)
{
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++)
System.out.print(arr[i][j] + " ");
System.out.println();
}
}
//To Interchange Columns
public static void interchangeColumns(int[][] arr,
int K, int L)
{
for (int i = 0; i < arr.length; i++) {
// Swap two numbers
int temp = arr[i][K - 1];
arr[i][K - 1] = arr[i][L - 1];
arr[i][L - 1] = temp;
}
System.out.println("After Interchanging Column "+ K + " and "+ L+ " :");
// Print arr
printMatrix(arr);
}
//To Interchange Rows
public static void interchangeRows(int[][] arr, int x, int y)
{
for (int i = 0; i < arr[0].length; i++) {
// Swap two numbers
int temp = arr[x - 1][i];
arr[x - 1][i] = arr[y - 1][i];
arr[y - 1][i] = temp;
}
System.out.println("After Interchanging Row "+ x + " and "+ y + " :");
// Print arr
printMatrix(arr);
}
// Driver code
public static void main(String args[]) throws IOException
{
int arr[][]
= { { 2, 9, 8 }, { 7, 6, 4 }, { 3, 9, 2 } }; //Matrix Declaration and Initialization
//Print Original arr
System.out.println("Original arr: ");
printMatrix(arr);
// calling to exchange Columns
int K = 1, L = 2;
interchangeColumns(arr, K, L);
// calling to exchange Rows
int K1 = 1, L1 = 2;
interchangeRows(arr, K1, L1);
}
}
Original arr:
2 9 8
7 6 4
3 9 2
Efter udskiftning af kolonne 1 og 2:
9 2 8
6 7 4
9 3 2
Efter udskiftning af række 1 og 2:
6 7 4
9 2 8
9 3 2