Bài 51. Tìm số lớn thứ 2 trong mảng

6
2982
Tìm Số Lớn Thứ 2 Trong Mảng
Bài số 49 trong 69 bài của series Học C Không Khó

Chúng ta đã cùng nhau đi làm bài tập tìm số lớn nhất trong mảng rồi. Hôm nay Lập trình không khó sẽ cùng các bạn đi giải 1 bài tập tư duy hơn một chút: tìm số lớn thứ 2 trong mảng. Hi vọng bài tập này sẽ giúp bạn ôn luyện được nhiều về các kiến thức đã học, đặc biệt là hàm và thao tác với mảng 1 chiều trong C.

Bài tập tìm số lớn thứ 2 trong mảng

/*
Tìm số lớn thứ 2 ở trong mảng
*/
Trong bài hướng dẫn này, mình sẽ tiếp cận theo 2 hướng khác nhau. Cụ thể:
  • C1. Sắp xếp mảng giảm dần => Số lớn thứ 2 là arr[1]
  • C2. Tìm đồng thời số lớn nhất và số lớn thứ 2

Bạn làm theo cách 1 sẽ dễ hiểu hơn, và nó cũng thuận với suy nghĩ của chúng ta hơn. Nhưng nếu làm cách 2 sẽ giúp thuật toán của chúng ta tối ưu hơn rất nhiều. Chúng ta sẽ đi qua từng cách nhé.

Chi tiết hướng dẫn từng cách có trong video hướng dẫn sau đây:

Code tìm số lớn thứ 2 trong mảng

Kết quả chạy chương trình:

Theo dõi lập trình không khó tại:

Các bài viết trong SeriesBài trước: Bài 50. Thuật toán tìm kiếm nhị phânBài sau: Bài 52. Thêm/ xóa phần tử trong mảng 1 chiều
avatar

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

  Subscribe  
newest oldest most voted
Notify of
Toàn tv
Guest
Toàn tv

Cám ơn bạn. Cách này sử dụng 2 biến đến gán số lagest và second lagest khá phổ biến nhỉ.
Mình vừa tham khảo thêm trên đây. Thấy cũng cùng 1 cách.
https://www.geeksforgeeks.org/find-second-largest-element-array/

Bùi Hà
Guest
Bùi Hà

Giả sử giá trị tại vị trí a[0] và a[1] bằng nhau thì làm thế nào vậy a.

inam ali
Guest
inam ali

AI Objectives is a platform of latest research and online training courses
of Artificial Intelligence. We provide latest technology news and research
articles on which our researcher work in Artificial Intelligence Domain such
as in Deep Learning, Neuro-gaming, Machine Learning and Image Processing.

Our Vision is to provide latest research in Artificial Intelligence and online
YouTube training for free.