Tin học Viết chương trình Pascal

Trâm Nguyễn Thị Ngọc

Giải Nhất event Thế giới Sinh học 2
Thành viên
13 Tháng mười 2018
1,523
1,339
241
19
Quảng Trị
Trường TH&THCS Hải Ba
program DAYCON;
uses crt;
const
fn = 'DAYCON.INP';
gn = 'DAYCON.OUT';
var f,g: text;
n: longint;
a: mw1;
iLeft, imax: longint;
MaxLen: longint;
procedure Update(i: longint);
begin
if (MaxLen < i - iLeft) then
begin
MaxLen := i - iLeft;
imax := iLeft; ileft := i;
end;
iLeft := i;
end;
procedure XuLi;
var i, x, y: longint;
begin
assign(f,fn);

reset(f);

readln(f,n);

read(f,x);
iLeft := 1;

MaxLen := 0;

for i := 2 to n do
begin
read(f,y);
if (y < x) then Update(i);
x := y;
end;
Update(n+1);
close(f);
end;
procedure Ghi;
begin
assign(g,gn);

rewrite(g);

writeln(g,imax,’ ‘,MaxLen);
close(g);
end;
BEGIN
XuLi; ghi;
END.

Mình ko giỏi về dãy con lắm nên cũng không biết bài trên có đúng ko nữa, bạn thông cảm
 

Trâm Nguyễn Thị Ngọc

Giải Nhất event Thế giới Sinh học 2
Thành viên
13 Tháng mười 2018
1,523
1,339
241
19
Quảng Trị
Trường TH&THCS Hải Ba
Cách này dễ hiểu hơn:
Program Day_con1;
Var M: array[1..30] of integer;
i,n, dau,ldau, dai,Max: integer;
Begin
Write('Nhap so n: '); Readln(n);
For i:=1 to n do
Begin Write('[',i,']='); Readln(M); End;
{Khoi tao gia tri dau}
i:=0;
Max:=1;
dau:=1;
dai:=1;
ldau:=1;
While i<=n do
Begin
i:=i+1;
if M[i+1]>=M then dai:=dai+1 else
if dai> Max then Begin Max:=dai; ldau:=dau; dai:=0 End
else Begin dau:=i+1; dai:=1 End;
End;
Write('Xau con dai:',max,' bat dau tu: ',ldau);
Readln
End.
 
Top Bottom