PDA

View Full Version : Một bài cắt mảng trong pascal



su7su
14-10-2010, 19:29
bài này em thử làm nhiều rồi mà lực bất tòng tâm
nhập vao N số thực khác 0, kiểm tra xem mảng đó có bao nhiêu đoạn đan dấu và đưa ra màn hình đoạn đan dấu có nhiều phần tử nhất( đoạn gồm các phần tử thứ i đén thứ j đc gọi la đoạn đan dấu nếu các phần tử trong đoạn đó có dấu xen kẽ nhau và nếu thêm vào phần tử thứ i-1 hoặc j+1 thì các phần tử của đoạn mới không còn đan dấu nữa.)

[=========> Bổ sung bài viết <=========]

các bạn chỉ cần nêu hướng thôi ko cần viết chương trình đau.

duynhan1
17-10-2010, 10:24
a[n+1]:=0;
i:=1;
dem:=0;
Repeat
Begin
dau:=i;
dem:=1;
While a[i]*a[i+1]<0 then
Begin
inc(dem);
inc(i);
End;
cuoi:=i;
If dem>demmax then
Begin
demmax:=dem;
daumax:=dau;
cuoimax:=cuoi;
End;
inc(i);
Until i>n;