[Code Java]
// Class Matran.java
package xuly_matran;
import java.util.Scanner;
public class Matran {
int [][] a=new int[7][7];
int n;
// nhap ma tran
void NhapMT(){
Scanner t=new Scanner(System.in);
// nhap kich thuc mang
System.out.print("\n + Nhap kich thuoc ma tran: \n");
do{
System.out.print("\n n= ");
n=t.nextInt();
if((n<2||n>7))
System.out.print("\n Nhap lai n! ");
}while(n<2||n>7);
System.out.print("\n + Nhap ma tran: \n");
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
System.out.print("\n a["+i+"]["+j+"]= ");
a[i][j]=t.nextInt();
}
}
// In ma tran
void InMT(){
System.out.print("\n + In ma tran \n");
for (int i=0;i<n;i++){
for (int j=0;j<n;j++)
System.out.print(a[i][j]+"\t");
System.out.print("\n");
}
}
}
/*
* Sắp xếp từng dòng của ma trận tăng dân (bubble sort)
* Sắp xếp từng cột của ma trận giản dần (Insert sort)
*/
package xuly_matran;
public class SapXep extends Matran {
public SapXep(){
System.out.print("\n * SAP XEP MA TRAN \n ");
}
// sap xep dong tang dan
void Bubble_sort(){
System.out.print("\n + In ma tran da sap xep dong tang dan \n");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
for(int k=n-1;k>j;k--)
if(a[i][k]<a[i][k-1])
{
int temp=a[i][k];
a[i][k]=a[i][k-1];
a[i][k-1]=temp;
}
super.InMT();
}
// sap xep cot giam gan
void Insert_sort(){
System.out.print("\n + In ma tran da sap xep cot giam dan \n");
for(int j=0;j<n;j++)
{
for(int i=1;i<n;i++)
{
int pos=i-1;
int t=a[i][j];
while(pos>=0&&a[pos][j]<t)
{
a[pos+1][j]=a[pos][j];
pos--;
}
a[pos+1][j]=t;
}
}
super.InMT();
}
}
/*
* Tìm vị trí xuất hiện các số chẵn trong ma trận
* Đếm số nguyên tố có trong ma trận
*/
package xuly_matran;
public class Tim_Dem extends Matran {
public Tim_Dem(){
System.out.print("\n * TIM SO CHAN - DEM SO NGUYEN TO \n");
}
// In vi tri so chan trong ma tran
void InViTRiSoChan(){
System.out.print("\n + In vi tri so chan trong ma tran:\n");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(a[i][j]%2==0) System.out.print("["+i+"]["+j+"]; ");
}
// ham kiem tra so nguyen to
boolean TestNT(int a){
for(int i=2;i<a;i++)
if(a%i==0)
return false;
return true;
}
// Dem so nguyen to trong ma tran
void DemSoNT(){
int dem=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(TestNT(a[i][j])) dem++;
System.out.print("\n + So nguyen to co trong ma tran la: "+dem);
}
}
/*
* Tách đường chéo chính thành ma trận
*/
package xuly_matran;
public class Tach_DCheo extends Matran{
int[] m=new int [7];
public Tach_DCheo(){
System.out.print("\n * TACH DUONG CHEO CHINH THANH MA TRAN");
}
// Tach duong cheo
void Tach(){
for(int i=0;i<n;i++)
m[i]=a[i][i];
System.out.print("\n + Mang vua tach: \n");
for(int i=0;i<n;i++)
System.out.print(m[i]+"; ");
}
// sap xep tang dan
void SapXep()
{
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(m[i]>m[j])
{
int t=m[i]; m[i]=m[j]; m[j]=t;
}
System.out.print("\n + Sap xep mang \n");
for(int i=0;i<n;i++)
System.out.print(m[i]+"; ");
}
}
/*
http://lap-trinh-may-tinh.blogspot.com/
*/
package xuly_matran;
public class Xuly_matran {
public static void main(String[] args) {
Matran t=new Matran();
t.NhapMT();
t.InMT();
// Sap xep
SapXep t1=new SapXep();
t1.NhapMT();
t1.Bubble_sort();
t1.Insert_sort();
// Tìm - đếm
Tim_Dem t2=new Tim_Dem();
t2.NhapMT();
t2.InViTRiSoChan();
t2.DemSoNT();
// Tách đường chéo chính
Tach_DCheo t3=new Tach_DCheo();
t3.NhapMT();
t3.Tach();
t3.SapXep();
}
}
[Tải code tại đây]
0 nhận xét:
Đăng nhận xét