Ôn tập mảng
Trang 1 trong tổng số 1 trang
Ôn tập mảng
Đây là 1 số bài ôn tập về mảng:
Bài 1:Nhập n(1<n<20),sau đó nhập n số thực từ bàn phím vào mảng.
a. Tìm phần tử dương của phần tử.
b. Tính trung bình cộng của các số dương này.
Giải:
uses crt;
var
i,so,n:byte; a:array[1..20]of real;
tong:real;
begin
clrscr;
write('N = ');
readln(n);
so:=0;
tong:=0;
for i:=1 to n do
begin
write('A [',i,'] = ');
readln(a[i]);
if a[i]>0 then
begin
inc(so);{tức là : so:=so+1}
tong:=tong+a[i];
end;
end;
writeln('So phan tu duong cua day : ',so);
writeln('Trung binh cong cua cac phan tu do : ',tong/so:0:2);
readln;
end.
Bài 2: Nhập từ bàn phím ra n phần tử vào mảng a(1<n<20).Hãy đổi vị trí các phần tử trong mảng theo quy tắc sau: a[1] thành a[n],a[2] thành a[n-1],....
ví dụ: n=6
a[1]=2; a[2]=1; a[3]=8; a[4]=6; a[5]=10; a[6]=12
Sau khi đổi: a[1]=12; a[2]=10; a[3]=6; a[4]=8; a[5]=1; a[6]=2;
Hướng dẫn:
Dễ thấy các cặp phần tử có tổng chỉ số là n+1
Do đó ta chỉ cần cho i chạy từ 1 đến n div 2. Thực hiện đổi chỗ A[i] và A[n-i+1].
Giải:
uses crt;
var a:array[1..20]of integer;
i,tg,n:byte;
begin
clrscr;
write('N = ');
readln(n);
for i:=1 to n do
begin
write('A [',i,'] = ');
readln(a[i]);
end;
for i:=1 to n div 2 do
begin
tg:=a[i];
a[i]:=a[n-i+1];
a[n-i+1]:=tg;
end;
for i:=1 to n do write(a[i],' ');
readln;
end.
Mọi vấn đề thắc mắc xin cứ nêu ra, tôi sẽ cố gắng giải đáp'
Chúc các bạn thành công!
Bài 1:Nhập n(1<n<20),sau đó nhập n số thực từ bàn phím vào mảng.
a. Tìm phần tử dương của phần tử.
b. Tính trung bình cộng của các số dương này.
Giải:
uses crt;
var
i,so,n:byte; a:array[1..20]of real;
tong:real;
begin
clrscr;
write('N = ');
readln(n);
so:=0;
tong:=0;
for i:=1 to n do
begin
write('A [',i,'] = ');
readln(a[i]);
if a[i]>0 then
begin
inc(so);{tức là : so:=so+1}
tong:=tong+a[i];
end;
end;
writeln('So phan tu duong cua day : ',so);
writeln('Trung binh cong cua cac phan tu do : ',tong/so:0:2);
readln;
end.
Bài 2: Nhập từ bàn phím ra n phần tử vào mảng a(1<n<20).Hãy đổi vị trí các phần tử trong mảng theo quy tắc sau: a[1] thành a[n],a[2] thành a[n-1],....
ví dụ: n=6
a[1]=2; a[2]=1; a[3]=8; a[4]=6; a[5]=10; a[6]=12
Sau khi đổi: a[1]=12; a[2]=10; a[3]=6; a[4]=8; a[5]=1; a[6]=2;
Hướng dẫn:
Dễ thấy các cặp phần tử có tổng chỉ số là n+1
Do đó ta chỉ cần cho i chạy từ 1 đến n div 2. Thực hiện đổi chỗ A[i] và A[n-i+1].
Giải:
uses crt;
var a:array[1..20]of integer;
i,tg,n:byte;
begin
clrscr;
write('N = ');
readln(n);
for i:=1 to n do
begin
write('A [',i,'] = ');
readln(a[i]);
end;
for i:=1 to n div 2 do
begin
tg:=a[i];
a[i]:=a[n-i+1];
a[n-i+1]:=tg;
end;
for i:=1 to n do write(a[i],' ');
readln;
end.
Mọi vấn đề thắc mắc xin cứ nêu ra, tôi sẽ cố gắng giải đáp'
Chúc các bạn thành công!
Nguyễn Tấn Thành- Morderater
- Tổng số bài gửi : 11
Age : 31
Đến từ : toán tin_2007-2010
Registration date : 16/02/2009
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|