Nhập vào một dãy n số nguyên A[1],A[2],…,A[n] . Đọc ra màn hình số lượng các số hạng dương liên tiếp có tổng lớn nhất.
0 bình luận về “Nhập vào một dãy n số nguyên A[1],A[2],…,A[n] . Đọc ra màn hình số lượng các số hạng dương liên tiếp có tổng lớn nhất.”
program oken; uses crt; var a: array [1..100] of integer; n,i,dem,s:longint; begin clrscr; write(‘Nhap so phan tu cua mang: ‘); readln(n); s:=0; dem:=0; for i:=1 to n do begin write(‘a[‘,i,’]: ‘); readln(a[i]); if (a[i]>=0) then begin dem:=dem+1; s:=s+a[i]; end; end; writeln(‘Co ‘,dem,’ phan tu duong trong day.’); writeln(‘Tong ‘,dem,’ phan tu duong trong day: ‘,s); readln; end.
uses crt; var i,j,tong,max,n,ton:longint; a:array[1..10000]of longint; begin clrscr; write(‘N=’);readln(n); for i:=1 to n do begin write(‘a[‘,i,’]=’);readln(a[i]); end; i:=0; repeat inc(i); j:=i; tong:=0; while (j<=n)and(a[j]>0) do begin inc(tong,a[j]); inc(j); end; if tong>ton then begin max:=j-i; ton:=tong; end; i:=j; until i>=n; writeln(‘So luong so duong lien tiep co tong lon nhat la: ‘,max); readln end.
program oken;
uses crt;
var a: array [1..100] of integer;
n,i,dem,s:longint;
begin
clrscr;
write(‘Nhap so phan tu cua mang: ‘); readln(n);
s:=0; dem:=0;
for i:=1 to n do
begin
write(‘a[‘,i,’]: ‘); readln(a[i]);
if (a[i]>=0) then
begin
dem:=dem+1;
s:=s+a[i];
end;
end;
writeln(‘Co ‘,dem,’ phan tu duong trong day.’);
writeln(‘Tong ‘,dem,’ phan tu duong trong day: ‘,s);
readln;
end.
uses crt;
var i,j,tong,max,n,ton:longint; a:array[1..10000]of longint;
begin
clrscr;
write(‘N=’);readln(n);
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);readln(a[i]);
end;
i:=0;
repeat
inc(i); j:=i; tong:=0;
while (j<=n)and(a[j]>0) do begin inc(tong,a[j]); inc(j); end;
if tong>ton then begin max:=j-i; ton:=tong; end;
i:=j;
until i>=n;
writeln(‘So luong so duong lien tiep co tong lon nhat la: ‘,max);
readln
end.
////////////////////////////////////////////////
Một số text cho bạn tham khảo: