Nhập vào 1 mảng 1 chiều,in ra phần tử lớn nhất và nhỏ nhất không xuất hiện trong mảng Ví dụ: 5 4 17 9 21 19 Xuất ra màn hình hai số là lớn

Nhập vào 1 mảng 1 chiều,in ra phần tử lớn nhất và nhỏ nhất không xuất hiện trong mảng
Ví dụ: 5
4 17 9 21 19
Xuất ra màn hình hai số là lớn nhất và nhỏ nhất không xuất hiện là
5 20
Giải thích: 4 là số nhỏ nhất đã xuất hiện,còn 5 là số nhỏ nhất chưa xuất hiện
Tương tự như vậy,21 là số lớn nhất đã xuất hiện,20 là số nhỏ nhất chưa xuất hiện

0 bình luận về “Nhập vào 1 mảng 1 chiều,in ra phần tử lớn nhất và nhỏ nhất không xuất hiện trong mảng Ví dụ: 5 4 17 9 21 19 Xuất ra màn hình hai số là lớn”

  1. uses crt;
    var n,i,j,t,m:longint; a:array[1..100000]of longint;
    begin
    clrscr;
       write(‘Nhap n: ‘);readln(n);
       for i:=1 to n do read(a[i]); readln;
       for i:=1 to n do 
          for j:=1 to i-1 do 
             if a[i]<a[j] then 
                begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
       m:=a[1]; i:=1;
       repeat 
          inc(m);
          if m=a[i+1] then inc(i);
       until m<>a[i]; 
       write(m,’ ‘);
       m:=a[n]; i:=n;
       repeat 
          dec(m);
          if m=a[i-1] then dec(i);
       until m<>a[i]; 
       write(m);
    readln;
    end.

    Bình luận
  2. uses crt;
    var a:array[1..10000] of longint;
        i,j,n,t:word;
        tam,min,max:longint;
    begin
        clrscr;
        readln(n);
        for i:=1 to n do read(a[i]);
        readln;
        for i:=1 to n-1 do
           for j:=i+1 to n do
              if a[i]>a[j] then
                 begin
                     tam:=a[i];
                     a[i]:=a[j];
                     a[j]:=tam;
                 end;
        i:=1;min:=a[1];
        while (min=a[i]) and (i<>n) do
           begin
               inc(i);
               if a[i]<>a[i-1] then
                  inc(min);
           end;
        t:=n;
        max:=a[n];
        while (max=a[n]) and (n<>1) do
           begin
               dec(n);
               if a[n]<>a[n+1] then
                  dec(max);
           end;
        if (min=a[t]) and (max=a[1]) then writeln(”)
           else
              if max=min then writeln(max)
                 else
                    if max>min then writeln(min,’ ‘,max)
                       else writeln(max,’ ‘,min);
    readln;
    end.

    Bình luận

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