Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Viết bằng lập trình Java

Viết bằng lập trình Java 
24. Viết chương trình nhập vào n số thực dương. Cho biết trong n số đã nhập:
Tổng các số dương đã nhập.
Số lớn nhất.
Các số có phần nguyên nguyên tố.
Các số thực có phần thập phân là 0.
25. Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:
a. Tìm phần tử lớn nhất của ma trận cùng chỉ số của số đó.
b. Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0).
c. Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần và in kết quả ra màn hình.
0 Xem trả lời
Hỏi chi tiết
77
Tham khảo câu trả lời từ Trợ lý ảo Lazi
```java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

// Bài 24
System.out.print("Nhập số lượng số thực dương: ");
int n = sc.nextInt();
double[] arr = new double[n];
double sumPositive = 0;
double max = Double.MIN_VALUE;

System.out.println("Nhập các số thực dương:");
for (int i = 0; i < n; i++) {
arr[i] = sc.nextDouble();
if (arr[i] > 0) {
sumPositive += arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
}

System.out.println("Tổng các số dương: " + sumPositive);
System.out.println("Số lớn nhất: " + max);

System.out.print("Các số có phần nguyên nguyên tố: ");
for (double num : arr) {
if (isPrime((int) num)) {
System.out.print(num + " ");
}
}
System.out.println();

System.out.print("Các số thực có phần thập phân là 0: ");
for (double num : arr) {
if (num == (int) num) {
System.out.print(num + " ");
}
}
System.out.println();

// Bài 25
System.out.print("Nhập số dòng của ma trận: ");
int rows = sc.nextInt();
System.out.print("Nhập số cột của ma trận: ");
int cols = sc.nextInt();
int[][] matrix = new int[rows][cols];

System.out.println("Nhập các phần tử của ma trận:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = sc.nextInt();
}
}

// a. Tìm phần tử lớn nhất của ma trận cùng chỉ số của số đó
int maxElement = Integer.MIN_VALUE;
int maxRow = 0;
int maxCol = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (matrix[i][j] > maxElement) {
maxElement = matrix[i][j];
maxRow = i;
maxCol = j;
}
}
}
System.out.println("Phần tử lớn nhất của ma trận: " + maxElement + " ở dòng " + maxRow + ", cột " + maxCol);

// b. Tìm và in ra các phần tử là số nguyên tố của ma trận
System.out.println("Các phần tử là số nguyên tố của ma trận:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (isPrime(matrix[i][j])) {
System.out.print(matrix[i][j] + " ");
} else {
matrix[i][j] = 0;
}
}
}
System.out.println();

// c. Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần
for (int j = 0; j < cols; j++) {
for (int i = 0; i < rows - 1; i++) {
for (int k = i + 1; k < rows; k++) {
if (matrix[i][j] > matrix[k][j]) {
int temp = matrix[i][j];
matrix[i][j] = matrix[k][j];
matrix[k][j] = temp;
}
}
}
}

System.out.println("Ma trận sau khi sắp xếp các cột theo thứ tự tăng dần:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}

public static boolean isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
Bạn có thể sao chép mã này và chạy trên IDE để kiểm tra kết quả. Chúc bạn thành công!

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×