Bài 30.3. Hệ Thống Quản Lý Nhiệt Độ Cảm Biến Thông Minh - [Độ khó: Khá]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 30.3. Hệ Thống Quản Lý Nhiệt Độ Cảm Biến Thông Minh - [Độ khó: Khá]

Bạn đang phát triển phần mềm cho một hệ thống nhà thông minh. Hệ thống này thu thập dữ liệu nhiệt độ từ nhiều cảm biến đặt rải rác trong nhà. Số lượng cảm biến có thể thay đổi, vì vậy bạn cần một cơ chế linh hoạt để lưu trữ và phân tích dữ liệu nhiệt độ mà không biết trước số lượng cảm biến là bao nhiêu. Bạn cần sử dụng cấp phát bộ nhớ động để giải quyết vấn đề này.

INPUT FORMAT

Đầu vào gồm hai dòng:

  • Dòng 1: Một số nguyên N (0 <= N <= 1000), là số lượng cảm biến (số lượng nhiệt độ cần đọc).
  • Dòng 2: Nếu N > 0, sẽ có N số thực (float), cách nhau bởi dấu cách, đại diện cho các giá trị nhiệt độ. Các giá trị nhiệt độ nằm trong khoảng [-50.0, 100.0].
OUTPUT FORMAT

Nếu N = 0, in ra: Khong co du lieu nhiet do. Nếu N > 0, đầu ra gồm hai dòng:

  1. Dòng 1: Nhiệt độ cao nhất tìm được trong danh sách.
  2. Dòng 2: Nhiệt độ thấp nhất tìm được trong danh sách. Các giá trị nhiệt độ được in ra với 2 chữ số thập phân.
Ví dụ:

Input:

5
22.5 28.1 19.0 25.7 20.3

Output:

Nhiet do cao nhat: 28.10
Nhiet do thap nhat: 19.00

Giải thích:

  • Bạn cần cấp phát một mảng động (ví dụ: float* temperatures = new float[N];) để lưu trữ N giá trị nhiệt độ.
  • Sau khi đọc tất cả các giá trị vào mảng động, bạn sẽ duyệt qua mảng để tìm giá trị lớn nhất và nhỏ nhất.
  • Đảm bảo rằng bạn giải phóng bộ nhớ đã cấp phát động sau khi sử dụng (delete[] temperatures;) để tránh rò rỉ bộ nhớ.
  • Trường hợp N=0 cần được xử lý riêng để tránh lỗi khi truy cập mảng rỗng hoặc chia cho 0 (nếu tính trung bình, nhưng bài này chỉ cần max/min).


Comments

There are no comments at the moment.

Zalo