Hướng dẫn cách tìm max và min trong mảng C++. Bạn sẽ học được 2 cách căn bản để tìm phần tử lớn nhất và nhỏ nhất trong mảng mảng C++ sau bài học này.
Chúng ta có 2 phương pháp để tìm max và min trong mảng C++ như sau:
- Tự tạo hàm tìm phần tử lớn nhất và nhỏ nhất trong mảng C++
- Sắp xếp mảng để tìm phần tử lớn nhất và nhỏ nhất trong mảng C++
Tìm max và min trong mảng C++ bằng hàm tự tạo
Logic tìm max và min trong mảng C++
Ví dụ chúng ta có mảng int như sau:
int array[] = {2, 0, 3, 1, 4}; |
Để tìm phần tử lớn nhất trong mảng C++, chúng ta sử dụng ý tưởng rất đơn giản. Giả sử max (giá trị lớn nhất của mảng) là số đầu tiên của mảng. Chúng ta sẽ lấy lần lượt các số còn lại trong mảng đem so sánh với max, nếu số này lớn hơn max thì đổi giá trị của max thành số đó. Và làm như thế cho tới số cuối cùng trong mảng được kiểm tra.
Với mảng ở trên thì chúng ta sẽ tìm max bằng cách kiểm tra lần lượt các phần tử như sau:
Giả sử max là số đầu tiên của mảng và bằng 2. Tiến hành tìm kiếm số lớn hơn 2 về phía cuối mảng
Tìm thấy 3 lớn hơn 2. Do đó gán 3 vào max và tiến hành tìm kiếm số lớn hơn 3 về phía cuối mảng
Tìm thấy 4 lớn hơn 3. Do đó gán 4 vào max. Do 4 là phần tử cuối cùng nên kết thúc xử lý.
Với việc tìm phần tử nhỏ nhất trong mảng C++, chúng ta cũng sử dụng logic tương tự. Tuy nhiên thay vì tìm số đầu tiên lớn hơn số đang xét, thì chúng ta sẽ làm ngược lại là tìm số đầu tiên nhỏ hơn số đang xét mà thôi.
Hàm tìm max và min trong mảng C++
Để hiện thực được logic ở trên, chúng ta sử dụng vòng lặp và viết các hàm tìm phần tử lớn nhất và nhỏ nhất trong mảng mảng C++ như sau:
Hàm tìm max trong mảng C++:
|
Hàm tìm min trong mảng C++:
|
Ứng dụng các hàm trên, chúng ta viết chương trình tìm max và min trong mảng C++ như sau:
|
Kết quả của phép tìm phần tử lớn nhất và nhỏ nhất trong mảng C++ bằng hàm tự tạo sẽ như dưới đây. Bạn hãy thử chạy chương trình và kiểm tra nhé.
>>Nhap so phan tu: 8 |
Tìm phần tử lớn nhất và nhỏ nhất trong mảng C++ bằng cách sắp xếp mảng
Ngoài cách kiểm tra từng phần tử để tìm ra max và min, chúng ta cũng có thể sắp xếp mảng theo thứ tự tăng dần hoặc giảm dần rồi sau đó mới tìm các giá trị lớn nhất và nhỏ nhất.
Ví dụ, sau khi sắp xếp mảng theo thứ tự tăng dần, thì phần tử đầu tiên sẽ là phần tử nhỏ nhất, và phần tử cuối cùng sẽ là phần tử lớn nhất.
Ngược lại thì sau khi sắp xếp mảng theo thứ tự giảm dần, thì phần tử đầu tiên sẽ là phần tử lớn nhất, và phần tử cuối cùng sẽ là phần tử nhỏ nhất.
Về cách sắp xếp mảng trong C++, Kiyoshi cũng đã trình bày ở bài viết sau đây:
- Xem thêm: Sắp xếp mảng trong C++
Sau đây là ví dụ về cách tìm phần tử lớn nhất và nhỏ nhất trong mảng C++ bằng cách sắp xếp mảng giảm dần.
|
Kết quả:
max= 8 |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách tìm max và min trong mảng C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/mang-trong-cpp/tim-max-va-min-trong-mang-cpp/
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>17. mảng trong c++