Nhập vào một dãy n số nguyên A[1] ,A[2],...,A[n] ( cho n <=200). Đưa ra màn hình trung bình cộng của cả dãy. Trung bình cộng các phần tử dương của mảng. Trung bình cộng các phần tử âm của mảng. Giúp mình với mng ơi tối mình phải nộp rồi
2 câu trả lời
program trungbinh;
uses crt;
var A:array[1..200] of integer;
n,i,t,td,ta,dd,da:integer;
begin
write('Nhap so luong phan tu n: '); readln(n);
dd:=0; da:=0; t:=0; td:=0; ta:=0;
for i:=1 to n do
begin
write('A[',i,']= '); readln(A[i]);
t:=t+A[i];
if A[i]>0 then
begin
dd:=dd+1;
td:=td+A[i];
end;
if A[i]<0 then
begin
da:=da+1;
ta:=ta+A[i];
end;
end;
writeln('Trung binh cong cua day la: ',t/n:2:2);
if dd=0 then writeln('Trong day khong co so duong de tinh trung binh')
else writeln('Trung binh cac so duong cua day la: ',td/dd:2:2);
if da=0 then writeln('Trong day khong co so am de tinh trung binh')
else writeln('Trung binh cac so am cua day la: ',ta/da:2:2);
readln
end.
uses crt;
var i,n,d2,d3:byte;
a:array[0..200] of integer;
t1,t2,t3:real;
BEGIN
clrscr;
write('Nhap n:'); readln(n);
t1:=0; t2:=0; t3:=0; d2:=1; d3:=1;
for i:=1 to n do
begin
write('Nhap a[',i,']:');
readln(a[i]);
t1:=t1+a[i];
if a[i]>0 then
begin
t2:=t2+a[i];
inc(d2);
end;
if a[i]<0 then
begin
t3:=t3+a[i];
inc(d3);
end;
end;
writeln('Trung binh cong cua cua day:',t1/n:0:3);
writeln('Trung binh cong cua cac so duong:',t2/d2:0:3);
write('Trung binh cong cua cac so am:',t3/d3:0:3);
readln
END.
Đã test r nha.
Chúc bạn học tốt!