Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
const int row = 3;
const int col = 4;
int seasonTemp[row][col] = {
{ 26, 34, 22, 17 },
{ 24, 32, 19, 13 },
{ 28, 38, 25, 20 }
} ;
int functionM (temp[row][col]) {
int m = 0;
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
if (temp[i][j] > m)
m = temp[i][j]
return m;
}
int main()
{ cout << functionM (seasonTemp) << endl; return 0;
}
Trả lời:
Đáp án đúng: A
Đoạn code C++ này tìm giá trị lớn nhất trong một mảng hai chiều (ma trận) các số nguyên.
1. **Khởi tạo mảng:** Mảng `seasonTemp` kích thước 3x4 được khởi tạo với các giá trị nhiệt độ.
2. **Hàm `functionM`:** Hàm này nhận một mảng hai chiều làm tham số (chú ý có lỗi biên dịch ở dòng khai báo vì thiếu kiểu dữ liệu của tham số temp, tuy nhiên nếu bỏ qua lỗi biên dịch và giả sử code chạy được). Hàm khởi tạo một biến `m` bằng 0, sau đó duyệt qua tất cả các phần tử của mảng. Nếu một phần tử lớn hơn `m`, `m` được cập nhật thành giá trị của phần tử đó. Cuối cùng, hàm trả về giá trị lớn nhất `m` tìm được.
3. **Hàm `main`:** Hàm `main` gọi hàm `functionM` với mảng `seasonTemp` và in kết quả trả về ra màn hình.
Trong mảng `seasonTemp`, giá trị lớn nhất là 38. Do đó, hàm `functionM` sẽ trả về 38.