30/09/2018, 17:32

Cách tìm GTLN va GTNN khi nhập với nhiều thông tin cùng lúc theo hàm for?

Bạn nào chỉ mình cách tìm GTLN và GTNN khi mình nhập nhiều thông tin theo hàm for như câu hỏi dưới.

Nhập mã sinh viên, họ và tên, điểm của không quá 50 sinh viên vào tập tin input.txt

Tìm các sinh viên có điểm thấp nhất và cao nhất và tính điểm trung bình của các
sinh viên

IDL viết 19:42 ngày 30/09/2018

có 50 sv thì mỗi cột điểm có 50 điểm. mà sắp xếp từ nhỏ lớn lớn nhỏ thì cũng ra 50 vị trí

for 50 vị trí đó
| — trong từng vị trí so sánh với các vị trí khác xem nó nhỏ nhất chưa
| — for với 50 - vị trí hiện tại = vị trí còn lại cần so sánh.
| —|--- nếu có số nhỏ hơn số hiện tại thì hoán vị vị trí số đó với số hiện tại
|------------------------

viết 19:41 ngày 30/09/2018

Bạn tạo ra 1 cấu trúc SinhVien gồm: mã sinh viên, họ và tên, điểm
Sau đó bạn làm 1 hàm đọc file để lưu vào DSLK hoặc BST

Để tìm các sinh viên có điểm thấp nhất thì có 2 bước:

  1. Tìm điểm thấp nhất trong lớp
  2. Tìm các sinh viên có điểm bằng với điểm thấp nhất đó

Tương tự với điểm cao nhất

Như vậy nếu làm như hai bước trên thì việc dùng vòng for thì bạn sẽ phải duyệt 2 lần, rất tốn chi phí, bạn hãy tưởng tượng nếu trường bạn có 10000 sinh viên thì bạn sẽ duyệt 20000 lần để tìm ra kết quả.

Mình khuyên bạn nên dùng stack để giải quyết bài toán trên, bạn sẽ phải duyệt theo điều kiện của stack

Bài liên quan
0