Java-program til at bestemme, om en given matrix er en sparsom matrix
I denne tutorial lærer vi, hvordan man afgør, om en given matrix er en sparsom matrix. En matrix siges at være en sparsom matrix, hvis de fleste af elementerne i den matrix er 0. Men før du går videre, hvis du ikke er bekendt med begreberne for matrixen, så tjek artiklen Arrays i Java.
Nedenfor er den billedlige fremstilling af det samme.
Input: Indtast matrixelementerne:
1 4 0
0 0 0
4 0 0
Output: Det er en sparsom matrix.
Program 1:For at bestemme, om den givne matrix er en sparsom matrix
I dette program vil vi lære at bestemme, om en given matrix er en sparsom matrix, når værdierne er brugerdefinerede. Her vil vi bede brugeren om at indtaste værdierne, og derefter vil vi kontrollere, om den givne matrix er en sparsom matrix eller ej.
Algorithme
- Start
- Deklarer variabler for at gemme størrelsen af matrixen.
- Bed brugeren om at initialisere antallet af rækker og kolonner.
- Deklarer en matrix.
- Bed brugeren om at initialisere elementerne i matrixen.
- Udskriv den originale matrix
- Deklarer en variabel for at gemme størrelsen af matrixen.
- Deklarer en variabel for at tælle antallet af 0 elementer i matrixen.
- Brug en løkke til at tælle alle nul-elementerne.
- Forøg antallet, hvis der findes 0 elementer.
- Tjek, om antallet er større end halvdelen af størrelsen.
- Hvis den er større, så udskriv den som en sparsom matrix.
- Ellers udskrives det ikke en sparsom matrix.
- Stop.
Nedenfor er koden til det samme.
//Java Program to check whether the given matrix is sparse or not*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
// declare variables
int m, n;
// To take input from the user
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows ");
// Initialize the number of rows
m = sc.nextInt();
System.out.println("Enter the number of columns ");
// Initialize the number of columns
n = sc.nextInt();
// declare a mxn order array
int a[][] = new int[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("");
}
int size= m*n; //Stores the size of the matrix
int count=0; //Variable to check for the number of 0 elements
//Loop to count all zero element present in matrix
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
if(a[i][j] == 0) //Check if element is 0 or not
count++; //Increment the count if 0 element is found
}
}
if(count>(size/2))
System.out.println("It is a sparse matrix");
else
System.out.println("It is not a sparse matrix");
}
}
Indtast antallet af rækker 3
Indtast antallet af kolonner 3
Indtast alle værdierne af matrix 1 2 0 0 0 0 0 0 0
Original Matrix:
1 2 0
0 0 0
0 0 0
Det er en sparsom matrix
Program 2:For at bestemme, om den givne matrix er en sparsom matrix
I dette program vil vi lære at bestemme, om en given matrix er en sparsom matrix, når værdierne er foruddefinerede. Her er elementerne til matrixen foruddefineret i programmet. Så baseret på værdierne af den matrix vil vi kontrollere, om den givne matrix er en sparsom matrix eller ej.
Algorithme
- Start
- Deklarer og initialiser en matrix.
- Deklarer variabler for at gemme antallet af rækker og kolonner i en matrix.
- Udskriv den originale matrix.
- Deklarer en variabel for at gemme størrelsen af matrixen.
- Deklarer en variabel for at tælle antallet af 0 elementer i matrixen.
- Brug en løkke til at tælle alle nul-elementerne.
- Forøg antallet, hvis der findes 0 elementer.
- Tjek, om antallet er større end halvdelen af størrelsen.
- Hvis den er større, så udskriv den som en sparsom matrix.
- Ellers udskrives det ikke en sparsom matrix.
- Stop.
Nedenfor er koden til det samme.
//Java Program to check whether the given matrix is sparse or not*/
public class Main
{
public static void main(String[] args)
{
// declare and initialize a matrix
int a[][] = {{ 2, 9, 8 }, { 7, 6, 4 }, { 3, 9, 2 } };
int m=a.length; //Stores the number of rows in a matrix
int n=a[0].length; //Stores the number of columns in a matrix
// print the original matrix
System.out.println("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("");
}
int size= m*n; //Stores the size of the matrix
int count=0; //Variable to check for the number of 0 elements
//Loop to count all zero element present in matrix
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
if(a[i][j] == 0) //Check if element is 0 or not
count++; //Increment the count if 0 element is found }
}
if(count>(size/2))
System.out.println("It is a sparse matrix");
else
System.out.println("It is not a sparse matrix");
}
}
Original matrix:
2 9 8
7 6 4
3 9 2
Det er ikke en sparsom matrix