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)”
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 á 😀
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 á 😀
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.