Viết chương trình nhập vào một mảng số nguyên, tìm phần tử nhỏ nhất rồi hoán vị nó với p tử thứ nhất (pascal)

Viết chương trình nhập vào một mảng số nguyên, tìm phần tử nhỏ nhất rồi hoán vị nó với p tử thứ nhất
(pascal)

0 bình luận về “Viết chương trình nhập vào một mảng số nguyên, tìm phần tử nhỏ nhất rồi hoán vị nó với p tử thứ nhất (pascal)”

  1. program MinAm;
    uses crt;
    var A:array[1..500] of integer;
        n,i,min,tam:integer;
    begin
       clrscr;
       tam:=0;
       write(‘Nhap n: ‘); read(n);
       for i:=1 to n do
       begin
          write(‘Nhap phan tu thu ‘,i,’: ‘);
          readln(A[i]);
       end;
       min:=A[1];
       for i:=2 to n do 
       if min>A[i] then min:=A[i];
       tam:=min; min:=A[1]; A[1]:=tam;
       writeln(‘Min: ‘,min);
       writeln(‘A[1]: ‘,A[1]);
       readln
    end.
     

    Hai câu lệnh mình in đậm là dùng để kiểm tra xem việc tìm phần tử nhỏ nhất, sau đó hoán vị nó với phần tử thứ nhất có đúng hay không á 😀

    Bình luận
  2. Cách 1:

    uses crt;
    var a:array[1..1000000] of longint;
          n,i,max,min,t:longint;
    begin
          clrscr;
          write(‘Nhap so luong phan tu: ‘); readln(n);
          for i:=1 to n do 
                begin
                      write(‘Nhap so thu ‘,i,’: ‘); readln(a[i]);
                end;
          max:=a[1];min:=a[1];
          for i:=2 to n do 
                begin
                      if a[i]>max then max:=a[i];
                      if a[i]<min then min:=a[i];
                end;
          writeln(‘Max: ‘,max);
          writeln(‘Min: ‘,min);
          for i:=1 to n do
                begin
                      t:=max;
                      max:=min;
                      min:=t;
                end;
          writeln(‘Max sau khi hoan vi: ‘,max);
          writeln(‘Min sau khi hoan vi: ‘,min);
          readln;
    end.

    Cách 2:

    uses crt;
    var a:array[1..1000000] of longint;
          n,i,max,min:longint;
    begin
          clrscr;
          write(‘Nhap so luong phan tu: ‘); readln(n);
          for i:=1 to n do 
                begin
                      write(‘Nhap so thu ‘,i,’: ‘); readln(a[i]);
                end;
          max:=a[1];min:=a[1];
          for i:=2 to n do 
                begin
                      if a[i]>max then max:=a[i];
                      if a[i]<min then min:=a[i];
                end;
          writeln(‘Max: ‘,max);
          writeln(‘Min: ‘,min);
          writeln(‘Max sau khi hoan vi: ‘,min);
          writeln(‘Min sau khi hoan vi: ‘,max);
          readln;
    end.

    *Nó khác nhau chỗ là cách 1 phải làm bước hoán vị còn cách hai là đảo chỗ thôi, ghi là max mà giá trị in ra là min, ghi min mà giá trị in ra là max.

    Bình luận

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