nhập vào 1 dãy các số nguyên ,sau đó tính trung bình các số chẵn ( sử dụng mảng 1 chiều và mảng 2 chiều )

2 câu trả lời

*Mảng 1 chiều:

uses crt;
var a:array[1..1000000] of longint;
   n,i,d,s:longint;
begin
   clrscr;
   s:=0;d:=0;
   write('Nhap so luong phan tu: '); readln(n);
   for i:=1 to n do 
      begin
         write('Nhap phan tu thu ',i,': '); readln(a[i]);
         if a[i] mod 2=0 then begin inc(s,a[i]); inc(d) end;
      end;
   write('Trung binh cac so chan: ',s/d:0:2);
   readln;
end.

*Mảng 2 chiều:

uses crt;
var a:array[1..1000000,1..1000000] of longint;
   n,m,i,j,d,s:longint;
begin
   clrscr;
   s:=0;d:=0;
   write('Nhap so luong cot: '); readln(n);
   write('Nhap so luong hang: '); readln(m);
   for i:=1 to n do
      for j:=1 to m do
         begin
            write('a[',i,'][',j,']: '); readln(a[i,j]);
            if a[i,j] mod 2=0 then begin inc(s,a[i,j]); inc(d) end;
         end;
   write('Trung binh cac so chan: ',s/d:0:2);
   readln;
end.

Mảng một chiều:

uses crt;
var i,n,d,s:longint; a:array[1..1000]of longint;
begin
clrscr;
   write('Nhap n: ');readln(n);
   for i:=1 to n do 
      begin 
         write('Nhap a[',i,']: ');readln(a[i]); 
         if a[i] mod 2=0 then begin inc(d); s:=s+a[i]; end;
      end;
   writeln('Trung binh cong cac so chan: ',s/d:0:3);
readln
end.   

Mảng hai chiều:

uses crt;
var i,j,n,m,d,s:longint; a:array[1..1000,1..1000]of longint;
begin
clrscr;
   write('Nhap n,m: ');readln(n,m);
   for i:=1 to n do 
      for j:=1 to m do 
         begin 
            write('Nhap a[',i,',',j,',]: ');readln(a[i,j]); 
            if a[i,j] mod 2=0 then begin inc(d); s:=s+a[i,j]; end;
         end;
   writeln('Trung binh cong cac so chan: ',s/d:0:3);
readln
end.   

Câu hỏi trong lớp Xem thêm