Nhập vào mảng một chiều,xét tất cả các trường hợp,tính tổng của hai phần tử có trong mảng và giá trị có tổng lớn nhất. Vd: 4 1 5 2 0 Xuất ra

Nhập vào mảng một chiều,xét tất cả các trường hợp,tính tổng của hai phần tử có trong mảng và giá trị có tổng lớn nhất.
Vd: 4
1 5 2 0
Xuất ra màn hình: 6 3 1
Số lớn nhất là 6

0 bình luận về “Nhập vào mảng một chiều,xét tất cả các trường hợp,tính tổng của hai phần tử có trong mảng và giá trị có tổng lớn nhất. Vd: 4 1 5 2 0 Xuất ra”

  1. uses crt;
    var a,s:array[1..1000000] of longint;
          n,i,max,j,tg:longint;
    BEGIN
          clrscr;
          readln(n);
          for i:=1 to n do
                begin
                      read(a[i]);
                end;
          max:=s[1];
          for i:=2 to n-1 do 
                for j:=2 to n do 
                      if a[i]>a[j] then
                            begin
                                  tg:=a[i];
                                  a[i]:=a[j];
                                  a[j]:=tg;
                            end;
          for i:=2 to n do s[i]:=a[1]+a[i];
          for i:=2 to n do if (i = 2) or (a[i-1] <> a[i]) then
                begin
                      write(s[i],’ ‘);
                      if s[i] > max then max:=s[i];
                end;
          writeln;
          writeln(‘So lon nhat la ‘,max);
          readln
    END.

    Bình luận
  2. uses crt;
    var i,j,n,max,t:longint; a:array[1..10000000]of longint;
    begin
    clrscr;
       readln(n);
       for i:=1 to n do read(a[i]);
       for i:=2 to n do  
          for j:=2 to i do 
             if a[i]>a[j] then 
                begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
       for i:=2 to n do 
          if (i=2)or(a[i-1]<>a[i]) then  
             begin
                write(a[1]+a[i],’ ‘);
                if a[i]+a[1]>max then max:=a[i]+a[1];
             end;
       writeln;
       writeln(‘So lon nhat la ‘,max);
    readln
    end.

    Bình luận

Viết một bình luận