Lập trình tính trung bình cộng các số dương, âm trong mảng 1 chiều bằng pascal
Viết chương trình nhập số nguyên N (0 < N ≤ 10 000) và mảng a gồm N số nguyên. Tính và in ra trung bình cộng của các số âm, số dương trong a. Không tính số 0.
Ví dụ : a[] = {1, -6, 0, 3, -1}. Trung bình cộng là -0.75
PROGRAM tbc_am_duong_mang;
USES crt;
VAR a:ARRAY[1..100] OF REAL;
i,n,x,y:INTEGER;
tongam,tongduong,tba,tbd:REAL;
BEGIN
clrscr;
write('So phan tu cua day n= ');readln(n);
FOR i:=1 TO n DO
BEGIN
write('Nhap phan tu a[',i,']: ');
readln(a[i]);
END;
tongam:=0; x:=0;
FOR i:=1 TO n DO
IF a[i]<0 THEN
BEGIN tongam:=tongam+a[i];
x:=x+1;
END;
tba:=tongam/x;
write('TB cong cac so am la: ',tba:5:1);
writeln;
tongduong:=0; y:=0;
FOR i:=1 TO n DO
IF a[i]>0 THEN
BEGIN tongduong:=tongduong+a[i];
y:=y+1;
END;
tbd:=tongduong/y;
write('TB cong cac so duong la: ',tbd:5:1);
readln;
END.
không dc ạ
Trả lờiXóa