(Khối 10 - Chuyên Lê Hồng Phong - TP HCM - 2004. Một dãy số a1, a2, a3, ….., an được gọi là dãy tăng nếu a1<=a2<=a3……<=an. Cho một dãy gồm tối đa n số (1<=n<=10000) . Viết chương trình tìm chiều dài dãy con liên tiếp tăng dần dài nhất trong dãy nói trên.
Giải
Var a: array[1..g] of real; i,n,vt,dd,dem: Integer; t:real;
BEGIN
Write('Nhap so phan tu: '); Readln(n);
For i:=1 to n do
begin
Write('Nhap phan tu thu ',i,' : '); readln(a[i]);
end;
For i:=1 to n-1 do
begin
if a[i+1] - a[i] <> t then
begin
t:=a[i+1]-a[i];
If (dem + 1) > dd Then
begin vt:=i-dem; dd:=dem+1; end;
dem:=1;
end
Else dem:=dem+1;
end;
If (dem + 1) > dd Then
begin vt:=i-dem+1; dd:=dem+1; end;
Write('Day con dai nhat la: '); for i:=vt to vt+dd-1 do write(a[i]:1:2,'; ');
Write('Co tat ca ',i,' phan tu'); Readln;
END.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét