Cho n phần tử trong mảng, tính trung bình cộng. Hai phương pháp.
Đầu vào - 1 2 3 4 5 6 7
Đầu ra - 4
Giải thích - Tổng = 28, số phần tử = 7, trung bình = 4.
Phương pháp 1 - Lặp
Tính tổng, chia cho số phần tử.
Ví dụ
#include <iostream>
using namespace std;
int main() {
int arr[] = { 1, 2, 3, 4, 5, 6, 7 };
int n=7;
int sum = 0;
for (int i=0; i<n; i++) {
sum += arr[i];
}
float average = sum/n;
cout << average;
return 0;
}
Phương pháp 2 - Đệ quy
Truyền chỉ số phần tử như tham số thêm, đệ quy tính tổng. Sau khi có tổng, chia cho n.
Đầu vào - 1 2 3 4 5
Đầu ra - 3
Giải thích - Tổng = 15, n=5, trung bình = 3.
Ví dụ
#include <iostream>
using namespace std;
int avg(int arr[], int i, int n) {
if (i == n-1) {
return arr[i];
}
if (i == 0) {
return ((arr[i] + avg(arr, i+1, n))/n);
}
return (arr[i] + avg(arr, i+1, n));
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = 5;
cout << avg(arr,0, n) << endl;
return 0;
}