Bài toán tìm số lớn nhất, nhỏ nhất trong mảng C/C++ là bài toán thường gặp. Đây là bài toán giúp bạn luyện tập rất tốt ngôn ngữ lập trình C/C++.
Bài viết chữa bài tập số 9 trong chuỗi bài tập làm chủ ngôn ngữ C/C++ .
1. Giới thiệu bài toán
Bài toán tìm số lớn nhất, luôn là bài toán hay cho các bạn mới học lập trình.
Đề bài:
Viết hàm trả về giá trị và chỉ số của phần tử lớn nhất trong mảng 1 chiều a có n phần tử.
Mình đánh giá đây là bài toán ở mức đơn giản, hầu hết các bạn đều có thể làm được.
2. Giải quyết bài toán
2.1 Ý tưởng giải quyết
Chúng ta sẽ viết hàm [FindMax] để giải quyết bài toán này.
Ý tưởng:
- Khai báo hai biến Max và biết Location [chỉ số, vị trí]
- Gán Max là phần tử đầu tiên của mảng [a[0]], gán Location =0.
- Cho vòng for duyệt từ phần tử thứ 2 đến cuối mảng, nếu gặp phần tử lớn hơn Max, ta gán Max bằng phần tử đó, Location = vị trí của phần tử đó
- Cuối cùng in ra kết quả Max và Location
Thật đơn giản phải không nào!
2.2 Code C/C++ tìm số lớn nhất trong mảng
Dựa theo ý tưởng mình trình bày ở trên, mình viết hàm FindMax sau:
Code C:
void FindMax[int a[], int n]{ int Max, Location; Max=a[0]; Location =0; for[int i=1;iMax]{ Max=a[i]; Location=i; } } printf["\nPhan tu Max: %d", Max]; printf["\nChi so cua phan tu Max: %d", Location]; }
Code C++:
void FindMax[int a[], int n]{ int Max, Location; Max=a[0]; Location =0; for[int i=1;iMax]{ Max=a[i]; Location=i; } } cout