Homework 3: Kiểu dữ liệu mảng trong Java (FBU-13.08.21)
Bài 1: Viết chương trình
-Nhập vào từ bàn phím điểm thi của n sinh viên môn LTTQ Java (29<n<71)
-Đếm số sinh viên có điểm F
-Tính tỷ lệ phần trăm sinh viên đạt điểm từ B trở lên
-Xác định vị trí của sinh viên có điểm cao nhất trong danh sách
-Sắp xếp điểm giảm dần.
Bài2: Viết chương trình tính
-Nhập vào 2 ma trận
vuông a, b có kích thước n (2<n<10) chứa các số nguyên
-Tính c = a+b, d = a*b
-Tính tổng đường chéo chính của ma trận c
-Kiểm tra tính đối xứng của ma trận d
-Tính định thức của ma trận c
-Nhập vào từ bàn phím điểm thi của n sinh viên môn LTTQ Java (29<n<71)
-Đếm số sinh viên có điểm F
-Tính tỷ lệ phần trăm sinh viên đạt điểm từ B trở lên
-Xác định vị trí của sinh viên có điểm cao nhất trong danh sách
-Sắp xếp điểm giảm dần.
---------------------
/*
Bài 1: Viết chương trình
-Nhập vào từ bàn phím điểm thi của n sinh viên môn LTTQ Java (29<n<71)
-Đếm số sinh viên có điểm F
-Tính tỷ lệ phần trăm sinh viên đạt điểm từ B trở lên
-Xác định vị trí của sinh viên có điểm cao nhất trong danh sách
-Sắp xếp điểm giảm dần.
*/
package homework3_1_130821;
import java.util.Scanner;
/**
*
* @author thanhtran
*/
public class Homework3_1_130821 {
// khai bao mang chua diem thi
static float[] diemThi=new float[70];
static int n; // so sinh vien
static Scanner inp =new Scanner(System.in);
// Nhap diem
static void NhapDiem(){
System.out.println("1. NHAP DIEM CHO SINH VIEN: ");
System.out.println(" - Nhap so sinh vien: ");
do{
System.out.print("\n n= ");
n= inp.nextInt();
if (n<=29||n>=71)
System.out.print("\n Nhap lai n!");
}while (n<=29|| n>=71);
System.out.println(" - Nhap diem cho sinh vien: ");
for(int i=0;i<n;i++)
{
do{
System.out.print("\n - Sinh vien thu "+(i+1)+": ");
diemThi[i]= inp.nextFloat();
if (diemThi[i]<0||diemThi[i]>10)
System.out.print("\n Nhap lai diem!");
}while (diemThi[i]<0||diemThi[i]>10);
}
}
// Dem sinh vien diem F
static void DemDiemF(){
int dem =0;
for(int i=0;i<n;i++)
if(diemThi[i]<4.0) dem++;
System.out.print("\n 2. SO SINH VIEN CO DIEM F: "+ dem);
}
// Tinh ty le sinh sien dat diem tu B
static void TyLeDiemB(){
float tyLe=0;
int dem=0;
for(int i=0;i<n;i++)
if(diemThi[i]>=7.0) dem++;
tyLe=((float)dem/n)*100;
System.out.print("\n 3. TY LE SINH VIEN DAT DIEM B TRO LEN: "+ tyLe+"%");
}
// Xac dinh vi tri sinh vien co diem cao nhat trong danh sach
static void ViTriDiemMax(){
// tim diem max
float max = diemThi[0];
for(int i=1;i<n;i++)
if(max<diemThi[i]) max=diemThi[i];
System.out.print("\n 4. VI TRI CAC SINH VIEN CO DIEM CAO NHAT: ");
for(int i=0;i<n;i++)
if(diemThi[i]==max)
System.out.print((i+1)+"; ");
}
// Sap xep diem giam dan
static void SapXepDiem(){
System.out.println("\n 5. SAP XEP DIEM GIAM DAN: ");
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(diemThi[i]<diemThi[j])
{
float d=diemThi[i];
diemThi[i]= diemThi[j];
diemThi[j]=d;
}
for(int i=0;i<n;i++)
System.out.println(diemThi[i]);
}
/* Phuong thuc chinh */
public static void main(String[] args) {
NhapDiem();
DemDiemF();
TyLeDiemB();
ViTriDiemMax();
SapXepDiem();
}
}
---------------------
Bài2: Viết chương trình tính
-Nhập vào 2 ma trận
vuông a, b có kích thước n (2<n<10) chứa các số nguyên
-Tính c = a+b, d = a*b
-Tính tổng đường chéo chính của ma trận c
-Kiểm tra tính đối xứng của ma trận d
-Tính định thức của ma trận c
---------------------
/*
Bài2: Viết chương trình tính
-Nhập vào 2 ma trận vuông a, b có kích thước n (2<n<10) chứa các số nguyên
-Tính c = a+b, d = a*b
-Tính tổng đường chéo chính của ma trận c
-Kiểm tra tính đối xứng của ma trận d
-Tính định thức của ma trận c
*/
package homework3_2_130821;
import java.util.Scanner;
public class Homework3_2_130821 {
// khai bao mang 2 chieu
static int [][] a=new int[9][9],b=new int[9][9],c=new int[9][9],d=new int[9][9];
static int n; // kich thuoc ma tran
// Nhap 2 ma tran
static void NhapMaTran(){
Scanner inp =new Scanner(System.in);
System.out.println("1. NHAP MA TRAN a, b: ");
System.out.println(" - Nhap kich thuoc ma tran: ");
do{
System.out.print("\n n= ");
n= inp.nextInt();
if (n<=2||n>=10)
System.out.print("\n Nhap lai n!");
}while (n<=2|| n>=10);
// nhap ma tran a
System.out.println(" - Nhap ma tran a: ");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
System.out.print("\n a["+i+"]["+j+"]=");
a[i][j]=inp.nextInt();
}
// in ma tran a
System.out.println(" In ma tran a: ");
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");
}
// nhap ma tran b
System.out.println(" - Nhap ma tran b: ");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
System.out.print("\n b["+i+"]["+j+"]=");
b[i][j]=inp.nextInt();
}
// in ma tran a
System.out.println(" In ma tran b: ");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
System.out.print(b[i][j]+ "\t");
System.out.print("\n");
}
}
// tinh c, d
static void TinhC_D(){
System.out.println("2. TINH MA TRAN C, D: ");
// tinh c
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]= a[i][j]+b[i][j];
// in ma tran c
System.out.println(" In ma tran c = a+b: ");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
System.out.print(c[i][j]+ "\t");
System.out.print("\n");
}
// tinh d
for(int i = 0; i<n; i++)
for(int k = 0; k<n; k++) {
d[i][k]=0;
for(int j = 0; j<n; j++)
d[i][k] = d[i][k]+a[i][j]*b[j][k];
}
// in ma tran d
System.out.println(" In ma tran d = axb: ");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
System.out.print(d[i][j]+ "\t");
System.out.print("\n");
}
}
// tinh tong duong cheo cua c
static void TongDC_cuaC(){
int tong=0;
for(int i=0;i<n;i++)
tong=tong+c[i][i];
System.out.println("3. TONG DUONG CHEO CHINH CUA C: ");
}
// kiem tra tinh doi xung cua d
static void DiemTraTinhDX_cuaD()
{ System.out.println("4. KIEM TRA TINH DOI XUNG CUA D: ");
int test =0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(d[i][j]!=d[j][i])
{
test= 1;
break;
}
if(test==0)
System.out.println(" Ma tran D doi xung. ");
else
System.out.println(" Ma tran D KHONG doi xung. ");
}
// tinh dinh thuc cua c
static void DinhThucC(){
int [] b1=new int[9], c1=new int[9];;
float h,det=1;
int i,j,k,dem=0,kt=0;
for(i=0;i<n-1;i++)
{
if(c[i][i]==0)
{
kt=0;
for(j=0;j<n;j++)
if(c[i][j]!=0)
{
for(k=0;k<n;k++)
{
// Doi cot j voi cot i
c1[k]=c[k][i];
c[k][i]=c[k][j];
c[k][j]=c1[k];
}
dem++;// dem so lan doi cot
kt++;// Kiem tra xem co so 0 o dong i cot j
break;
}
}
if(kt==0)
det = 0;
b1[i]=c[i][i];
for(j=0;j<n;j++)
c[i][j]= c[i][j]/b1[i];//tao so 1 o dong i,cot i
for(j=i+1;j<n;j++)
{
h=a[j][i];
for(k=0;k<n;k++)
c[j][k]=c[j][k]-(int)h*c[i][k];//lay dong thu j-h*dong i
}
}
b1[n-1]=c[n-1][n-1];
for(i=0;i<n;i++)
det=det*b1[i];// Nhan cac so da lay ra ngoai dinh thuc
if(dem%2!=0)
det=-det;
System.out.println("5. DINH THUC CUA C: "+ det);
}
/* phuong thuc main */
public static void main(String[] args) {
NhapMaTran();
TinhC_D();
TongDC_cuaC();
DiemTraTinhDX_cuaD();
DinhThucC();
}
}
---------------------