CHEMISTRY
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Ôn tập mảng

Go down

Ôn tập mảng Empty Ôn tập mảng

Bài gửi by Nguyễn Tấn Thành Sun Mar 01, 2009 6:52 pm

Đâ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! flower flower
Nguyễn Tấn Thành
Nguyễn Tấn Thành
Morderater
Morderater

Tổng số bài gửi : 11
Age : 31
Đến từ : toán tin_2007-2010
Registration date : 16/02/2009

Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết