Trang chủLập trìnhLập trình C/C++Viết chương trình tính trung bình cộng các số âm trong mảng...

Viết chương trình tính trung bình cộng các số âm trong mảng lập trình C++

Cụ thể đề bài đầy đủ gồm 4 yêu cầu như sau:

Viết chương trình thực hiện các công việc:

  • Nhập một mảng các số nguyên gồm n phân tử (0 < n < 100);
  • Xuất mảng các số nguyên vừa nhập.
  • Viết hàm tính giá trị trung bình các phần tử có giá trị âm trong mảng một chiều a có n phần tử. Hàm trả về giá trị trung bình của các phần tử có giá trị âm, ngược lại hàm trả về 0.
  • Sắp xếp mảng theo thứ tự tăng dần.

Chương trình mẫu

#include <iostream>
using namespace std;

//Hàm nhập mảng
void nhap(int &n, int a[]){
	for(int i=0;i<n;i++){
		cout<<"a["<<i+1<<"]= ";cin>>a[i];
	}
}

//Hàm xuất mảng
void xuat(int n, int a[]){
	for(int i=0;i<n;i++){
		cout<<a[i]<<"  ";
	}	
}

//Hàm tính trung bình các số âm trong mảng
int tinhTB(int n, int a[]){
	int sum=0, dem=0; //Khởi tạo biến đếm số lượng phần tử âm và biến tổng 
	for(int i=0;i<n;i++){
		if(a[i]<0) {
			sum+=a[i]; dem++; //Nếu phần tử thứ a[i] nhỏ hơn 0 thì cộng dồn giá trị vào biến sum và tăng biến đếm
		}
	}
	if(dem==0) return 0; //Nếu không có phần tử âm nào thì trả về 0
	return sum/dem; //Nếu có 1 hoặc nhiều phần tử âm thì lấy tổng các số âm chia cho số lượng số ra trung bình cộng các số
}


//Hàm sắp xếp mảng theo thứ tự tăng dần
void sapXep(int n, int a[]){
	for(int i=0;i<n-1;i++){
		for(int j=i+1;j<n;j++){
			if(a[i] > a[j]){
				int t = a[i];
				a[i]= a[j];
				a[j]=t;
			}
		}
	}
	xuat(n,a);
}

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<<"\n--------TINH TRUNG BINH SO AM----\n";
	cout<<"Trung binh cac so am la: "<<tinhTB(n,a)<<"\n\n";
	
	cout<<"\n--------MANG SAP XEP TANG DAN----\n";	
	sapXep(n,a);
}

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

0 0 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ì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x