Chỉ chấp nhận 1 trong các code này: Pascal, C, C++, Python Đề bài: Nhập vào một dãy n số nguyên A[1],A[2],...,A[n] . Đọc ra màn hình thông tin sau : Số lượng các số hạng âm liên tiếp có tổng lớn nhất.

2 câu trả lời

Nếu có lỗi hoặc đáp án sai thì bạn nói mình để mình sửa nhé, nếu đúng thì cho mình hay nhất với. ^^

program Hello;
uses crt;
var n,i,max,d,s1:integer;
    a,s:array[1..1000] of integer;
begin
    clrscr;
    write('n = ');
    readln(n);
    max:=low(integer);
    for i:= 1 to n do
        begin
            read(a[i]);
            if a[i]<0 then
                s1:=s1+a[i];
            if (a[i]>=0) or (i=n) then
                begin
                    s[i]:=s1;
                    s1:=0;
                end;
        end;
    for i:=1 to n do
        if s[i]<0 then
            begin
                if (max = s[i]) then inc(d);
                if (max<s[i]) then
                    begin
                        max:=s[i];
                        d:=1;
                    end;
            end;
    write('So luong cac so hang am co tong lon nhat la: ',d);
end.

uses crt;
var i,n,s,max,j,k:longint; a:array[1..1000000]of longint; 
begin 
clrscr;
   write('Nhap n: ');readln(n);
   for i:=1 to n do 
      begin 
         write('A[',i,']= ');readln(a[i]);  
      end; 
   max:=low(longint);
   for i:=1 to n do 
      begin 
         j:=i-1;
         s:=0;
         while a[j+1]<0 do 
            begin
               inc(j); s:=s+a[j];
               if s>max then begin max:=s; k:=j-i+1; end;
            end;
      end;
   writeln(k);
readln
end.

Câu hỏi trong lớp Xem thêm