bài 2.3
3. Viết chương trình nhập vào 1 ma trận vuông kích thức n (2<=n<=50).
a. Tạo ra 1 tiến trình tìm phần tử lớn nhất và nhỏ nhất trong ma trận
b. Tạo ra 1 tiến trình tìm số nguyên tố nhỏ nhất và lớn nhất trong ma trận
c. Tạo ra 1 tiến trình tìm tổng các số lẻ và tổng các số chẵn trong ma trận
d. Tạo ra một tiến trình tìm max các cột và lưu vào 1 mảng 1 chiều kích thước n.
e. Tạo ra 1 tiến trình tìm min các hàng và lưu vào 1 mảng 1 chiều kích thước n.
f. Tạo ra 1 tiến trình tính tổng các phần tử trên dường chéo chính và tổng các phần tử trên đường chéo phụ.
code
package Dang2;
import java.io.*;
public class Bai3 {
static int n = 0;
static int a[][] = new int[100][100];
static int nhapn() {
int n = 0;
try {
DataInputStream nhap = new DataInputStream(System.in);
n = Integer.valueOf(nhap.readLine());
} catch (Exception e) {
n = 0;}
return n;}
public static void main(String[] args) {
do {
System.out.print("Nhap kich thuoc ma tran: ");
n = nhapn();
} while (n < 2 || n > 50);
System.out.println("Nhap cac phan tu cua ma tran");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print("a[" + i + "][" + j + "]= ");
a[i][j] = nhapn();}}
System.out.println("Ma tran vua nhap: ");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + " ");}
System.out.println("");}
// a. Tìm số lớn nhất, nhỏ nhất trong mảng:
System.out.println("a. ------------------------------");
int max = a[0][0], min = a[0][0];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (max < a[i][j]) {
max = a[i][j];}
if (min > a[0][0]) {
min = a[0][0];}}}
System.out.println("So lon nhat trong mang:" + max);
System.out.println("So nho nhat trong mang:" + min);
// b. Tìm số nguyên tố lớn nhất, nhỏ nhất.
System.out.println("b.----------------------------------");
int nt[] = new int[n];
int dem = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] != 0 && a[i][j] != 1) {
for (int l = 2; l < a[i][j]; l++) {
if (a[i][j] % l == 0) {
dem++;}}
if (dem == 0) {
nt[i] = a[i][j];
} else {
dem = 0;}}}}
int ntMax = nt[0], ntMin = nt[0];
for (int l = 0; l < n; l++) {
if (ntMax < nt[l]) {
ntMax = nt[l];}
if (ntMin > nt[l]) {
ntMin = nt[l];}}
System.out.println("So nguyen to lon nhat: " + ntMax);
System.out.println("So nguyen to nho nhat: " + ntMin);
// c. Tổng cả số lẻ và số chẵn trong ma trận:
System.out.println("c. -----------------------------------");
int tongChan = 0, tongLe = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] % 2 == 0) {
tongChan += a[i][j];
} else {
tongLe += a[i][j];}}}
System.out.println("Tong cac so chan: " + tongChan);
System.out.println("Tong cac so le: " + tongLe);
// d. Tìm Max các cột:
System.out.println("d. -----------------------------------");
int maxCot[] = new int[n];
for (int i = 0; i < n; i++) {
maxCot[i] = a[0][i]; // Gan bang phan tu dau tien cua cot
for (int j = 0; j < n; j++) {
if (maxCot[i] < a[j][i]) {
maxCot[i] = a[j][i];}}}
System.out.println("Max cot:");
for (int i = 0; i < n; i++) {
System.out.print(maxCot[i] + " ");}
System.out.println("");
// e. Min các hàng:
System.out.println("e. -------------------------------------");
int minHang[] = new int[n];
for (int i = 0; i < n; i++) {
minHang[i] = a[i][0]; // Gang bang phan tu dau tien cua hang
for (int j = 0; j < n; j++) {
if (minHang[i] > a[i][j]) {
minHang[i] = a[i][j];}}}
System.out.println("Min hang:");
for (int i = 0; i < n; i++) {
System.out.println(minHang[i]);}
// f. Tổng trên đường chéo chính và chéo phụ:.
System.out.println("f. --------------------------------");
int cheoChinh = 0, cheoPhu = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
cheoChinh = cheoChinh + a[j][j];}
if (i == (n - 1 - j)) {
cheoPhu = cheoPhu + a[i][j];}}}
System.out.println("Tổng các phần tử trên đường chéo chính: " + cheoChinh);
System.out.println("Tổng các phần trử trên đường chéo phụ: " + cheoPhu);}}
Bạn đang đọc truyện trên: Truyen247.Pro