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)

2 câu trả lời

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.

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 á :D

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