Thứ Tư, 27 Tháng Mười Một 2024
Trang chủLập trìnhLập trình C/C++Tính trung bình cộng số dương, số âm trong mảng lập trình...

Tính trung bình cộng số dương, số âm trong mảng lập trình C/C++

Đây là một dạng bài tập rất cơ bản giúp cho việc luyện tập code lập trình C/C++.

DANH SÁCH BÀI VIẾT
Cộng trừ nhân chia hai phân số trong lập trình C sử dụng Struct 
Chương trình quản lý sinh viên sử dụng struct trong lập trình C/C++
Tính trung bình cộng số dương, số âm trong mảng lập trình C/C++
Bài tập Phân số lập trình OOP trong C/C++ - Lập trình hướng đối tượng
Đếm số lượng số âm dương và số 0 trong mảng lập trình C/C++

Tính trung bình cộng các số trong mảng

Trong bài này chúng ta sẽ thực hiện viết hàm tính toán trung bình cộng trong mảng 1 chiều của:

  • Toàn mảng: Tính trung bình cộng của tất cả các số có trong mảng
  • Số âm: Chỉ tính trung bình cộng của các số âm trong mảng
  • Số dương: Chỉ tính trung bình cộng của các số dương có trong mảng.

Đây là một bài toán đơn giản nên ý tưởng cũng rất đơn giản, giả sử ta có mảng A gồm n phần tử. Đối với tính trung bình cộng tất cả phần tử trong mảng ta chỉ việc tất cả lại với nhau rồi chia cho n sẽ ra kết quả trung bình cộng. Đối với trung bình cộng số dương ta sẽ cần thêm 1 biến đếm, với mỗi bước lặp ta sẽ kiểm tra A[i] nếu lớn hơn 0 thì ta cộng giá trị vào biến sum và tăng đếm lên 1, rồi cuối cùng chỉ cần lấy tổng các số chia cho đếm là ra kết quả trung bình. Với số âm ta làm tương tự nhưng đổi chiều dấu so sánh.

Chương trình mẫu

#include <iostream>
using namespace std;
 

void nhap(int &n, int a[]){
    for(int i=0;i<n;i++){
        cout<<"a["<<i+1<<"]= ";cin>>a[i];
    }
}
 

void xuat(int n, int a[]){
    for(int i=0;i<n;i++){
        cout<<a[i]<<"  ";
    }   
}
 int tinhTBCongint (int n, int a[]){
    int sum=0, dem=0; 
    for(int i=0;i<n;i++){
       sum+=a[i]; dem++;  
    }
    return sum/n;
}

int tinhTBCongDuong(int n, int a[]){
    int sum=0, dem=0; 
    for(int i=0;i<n;i++){
        if(a[i] > 0) {
            sum+=a[i]; dem++;
        }
    }
    if(dem==0) return 0;
    return sum/dem;
}

int tinhTBCongAm(int n, int a[]){
    int sum=0, dem=0; 
    for(int i=0;i<n;i++){
        if(a[i]<0) {
            sum+=a[i]; dem++;
        }
    }
    if(dem==0) return 0;
    return sum/dem;
}



int main(){
    int n;
    int a[100];
    do{
        cout<<"Nhap n: "; cin>>n;
    }while(n <= 0 || n >=100);
    nhap(n,a);
    cout<<"\n--------XUAT MANG----\n";
    xuat(n,a);
     
    cout<<"Trung binh cong: "<<tinhTBCongint(n,a)<<"\n\n";
    cout<<"Trung binh so duong: "<<tinhTBCongDuong(n,a)<<"\n\n";
    cout<<"Trung binh so am: "<<tinhTBCongAm(n,a)<<"\n\n";
}

Bạn chạy thử chương trình xem kết quả nhé!

[Xem tất cả bài viết chủ đề C/C++ tại đây]

2.6 5 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x