Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
1)
Var array:[1..1000] of integer;
i,n,t:integer;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap so thu ',i,' = ');readln(a[i]);
End;
For i:=1 to n do
If a[i] > a[i+1] then
Begin
t:=a[i];
a[i]:=a[i+1];
a[i+1]:=t;
End;
Write('Sap xep tang dan ');
For i:=1 to n do write(a[i]:8);
Readln
End.
2)
Var array:[1..1000] of integer;
i,n,t:integer;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap so thu ',i,' = ');readln(a[i]);
End;
For i:=1 to n do
If a[i] < a[i+1] then
Begin
t:=a[i];
a[i]:=a[i+1];
a[i+1]:=t;
End;
Write('Sap xep giam dan ');
For i:=1 to n do write(a[i]:8);
Readln
End.
Program Day_So_Giam_Dan;
Uses Crt;
Var s,n,i,j,t:integer;
a:array[1..20] of integer;
Begin
Clrscr;
Writeln(‘SAP XEP DAY SO:’);
Write(‘Nhap so phan tu cua day n = ‘); Readln(n); For i:=1 to n do
Begin
Write(‘a[‘,i,’]= ‘);
Readln(a[i]);
End;
For i:=1 to n-1 do
For j:=i+1 to n do
If a[i]<a[j] then
Begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
End;
Writeln(' Day sau khi sap xep giam dan la:'); For i:=1 to n do
Write(a[i]:4); Readln;
s:=0;
For i:=1 to n do s:=s+a[i];
Writeln('Gia tri trung binh la: ',s/n:6:2);
Readln;
End.
Program Tin_hoc;
Uses crt;
Var i,tam,n,chan,le,j:integer;
a,daychan,dayle:array[1..10000] of integer;
Begin
clrscr;
Write('Nhap n: ');readln(n);
chan:=0;le:=0;
Writeln('Nhap ',n,' phan tu cua mang:');
For i:= 1 to n do
Begin
write('A[',i,'] = ');
Readln(a[i]);
If a[i] mod 2 = 0 then
Begin
inc(chan);
daychan[chan]:=a[i];
end
else
Begin
inc(le);
dayle[le]:=a[i];
End;
End;
For i:= 1 to chan do
for j:= i to chan do If daychan[i]>daychan[j] then
Begin
tam:=daychan[i];
daychan[i]:=daychan[j];
daychan[j]:=tam;
End;
For i:= 1 to le do
for j:= i to le do If dayle[i]<dayle[j] then
Begin
tam:=dayle[i];
dayle[i]:=dayle[j];
dayle[j]:=tam
End;
Writeln('Day sau khi sap xep:');
For i:= 1 to chan do write(daychan[i],' ');
For i:= 1 to le do write(dayle[i],' ');
Readln;
End.
Dưới đây là mã chương trình Pascal để sắp xếp dãy số theo yêu cầu đã cho:
```pascal
program sorting;
const
MAX_N = 1000;
var
N, i, j, temp: integer;
arr: array[1…MAX_N] of integer;
oddArr, evenArr: array[1…MAX_N] of integer;
oddCount, evenCount: integer;
inputFile, outputFile: text;
begin
// Mở file input và đọc dữ liệu
assign(inputFile, 'sorting.inp');
reset(inputFile);
readln(inputFile, N);
for i := 1 to N do
read(inputFile, arr[i]);
close(inputFile);
// Sắp xếp mảng theo yêu cầu
oddCount := 0;
evenCount := 0;
for i := 1 to N do
begin
if arr[i] mod 2 = 1 then
begin
oddCount := oddCount + 1;
oddArr[oddCount] := arr[i];
end
else
begin
evenCount := evenCount + 1;
evenArr[evenCount] := arr[i];
end;
end;
// Sắp xếp mảng số lẻ tăng dần
for i := 1 to oddCount - 1 do
for j := i + 1 to oddCount do
if oddArr[i] > oddArr[j] then
begin
temp := oddArr[i];
oddArr[i] := oddArr[j];
oddArr[j] := temp;
end;
// Sắp xếp mảng số chẵn giảm dần
for i := 1 to evenCount - 1 do
for j := i + 1 to evenCount do
if evenArr[i] < evenArr[j] then
begin
temp := evenArr[i];
evenArr[i] := evenArr[j];
evenArr[j] := temp;
end;
// Mở file output và ghi kết quả
assign(outputFile, 'sorting.out');
rewrite(outputFile);
for i := 1 to oddCount do
write(outputFile, oddArr[i], ' ');
writeln(outputFile);
for i := 1 to evenCount do
write(outputFile, evenArr[i], ' ');
close(outputFile);
end.
```
Bạn có thể sao chép mã chương trình trên vào một tệp tin có tên `sorting.pas`, sau đó tạo một tệp tin `sorting.inp` và nhập dữ liệu theo định dạng đã cho. Chạy chương trình và kết quả sẽ được ghi vào tệp tin `sorting.out`.
var i,n:longint; a:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do
if a[i] mod 2=0 then
begin
inc(k);
b[k]:=a[i];
end
else
begin
inc(t);
c[t]:=a[i];
end;
for i:=1 to k-1 do
for j:=i+1 to k do
if b[i]<b[j] then
begin
d:=b[i];
b[i]:=b[j];
b[j]:=d;
end;
for i:=1 to t-1 do
for j:=i+1 to t do
if c[i]>c[j] then
begin
d:=c[i];
c[i]:=c[j];
c[j]:=d;
end;
for i:=1 to k do write(b[i],' ');
for i:=1 to t do write(c[i],' ');
end.
Thuật toán câu 1:
Bài này dùng mảng A
Đầu tiên cho biến MAX = số đầu tiên trong dãy đó cho vòng for từ 2 đến số chữ số(ví dụ: dãy số là:7 2 8 83 6 8
trong dãy có 6 chữ số). Trong vòng for thực hiện câu lệnh if MAX<A[i] then MAX:=A[i]
Sau khi xong thì cứ hiện thị biến MAX là xong
XIN LỖI nhưng mình không làm sơ đồ được
Chương trình:
Var
A:array[1..100] of integer;
i,n,max:integer;
Begin
Write('nhap do dai cua mang la'); readln(n);
For i:=1 to n do
Begin
Write('A[',i,']='); readln(a[i]);
End;
Max:=a[1];
For i:=2 to n do
If max<a[i] then max:=a[i];
Writeln('gia tri lon nhat trong mang la',max);
Readln;
End.
thuật toán câu 2:
Như thuật toán câu 1 vẫn dùng mảng A
Đầu tiên cho vòng for lòng vòng for khác
For i:=1 to n do
For j:=i+1 to n do
Sau khi nhập vòng for j xong thì so sánh nếu a[i]>a[j]
Sau khi so sánh nếu điều kiện đúng thì thực hiện việc đổi giá trị cho 2 biến trên
Và cuối cùng là hiện thị mảng trên
Chương trình:
Var A[1..100] of integer;
n,j,i,sx:integer;
Begin
Write('nhap do dai cua mang'); readln(n);
For i:=1 to n do begin
Write('a[',i,'[=');
Readln(a[i]);
End;
For i:=1 to n do
For j:=i+1 to n do
If a[i]>a[j] then
Begin
SX:=a[i];
A[i]:=a[j];
A[j]:=SX; end;
Writeln('sap xep mang A tang dan');
For i:=1 to n do write(a[i]:4);
Readln;
End.