Tải bản đầy đủ (.docx) (4 trang)

Tính trung bình nhân các số dương trong ma trận các số thực

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (79.2 KB, 4 trang )

Bài 328: Tính trung bình nhân các số dương trong ma trận các số thực
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define MAX 100
void NhapMang(float a[][MAX], int &dong, int &cot)
{
//Nhập số dòng
do
{
printf("\nNhap vao so dong: ");
// Cách tà đạo: scanf("dong =%d",&dong);

// Lúc nhập phải viết thêm

scanf("%d",&dong);

if(dong < 1 || dong > MAX)
{
printf("\nSo dong khong hop le. Xin kiem tra lai!");
}

}while(dong < 1 || dong > MAX);

//Nhập số cột
do
{
printf("\nNhap vao so cot: ");

chữ ( dong =


) ở khung console


scanf("%d",&cot);

if(cot < 1 || cot > MAX)
{
printf("\nSo cot khong hop le. Xin kiem tra lai!");

}

}while(cot < 1 || cot > MAX);
for(int i = 0; i < dong; i++)
{
for(int j = 0; j < cot; j++)
{
float temp;
printf("\nNhap a[%d][%d] = ", i, j);
scanf("%f", &temp);
a[i][j] = temp;
}
}
}

void XuatMang(float a[][MAX], int dong, int cot)
{
for(int i = 0; i < dong; i++)
{
for(int j = 0; j < cot; j++)



{
printf("%8.3f", a[i][j]);
}
printf("\n\n");
}
}

float TinhTrungBinhNhanCacSoDuong(float a[][MAX], int dong, int cot)
{
float trungBinhNhan, tich = 1, dem = 0;
int n = dong * cot;
for(int i = 0; i < n; i++)
{
if(a[i / cot][i % cot] > 0)
{
tich *= a[i / cot][i % cot];
dem++;
}
}
return trungBinhNhan = pow(tich, 1 / dem);
}
int main()
{
float a[MAX][MAX];
int dong, cot;
NhapMang(a, dong, cot);


XuatMang(a, dong, cot);


float TBN = TinhTrungBinhNhanCacSoDuong(a, dong, cot);
printf("\nTrung binh nhan cac so duong trong mang = %f", TBN);
getch();
return 0;
}



×