Sắp xếp dãy số Tên chương trình: sorting.pas
Cho dãy N số nguyên a1, a2,..., an. Hãy sắp dãy số đã cho theo thứ tự tăng dần các số lẻ
và giảm dần các số chẵn?
Dữ liệu vào: File sorting.inp gồm hai dòng
+ Dòng 1: ghi số nguyên N (0< N<1000)
+ Dòng 2: ghi N số a1, a2,...< aN (với ai <=109
)
Dữ liệu ra: File sorting.out gồm hai dòng
+ Dòng 1: Ghi các số lẻ tăng dần
+ Dòng 2: ghi các số chẵn giảm dần
Ví dụ:
Sorting.inp Sorting.out
6
2 3 5 1 4 6
1 3 5
6 4 2
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.
Giả sử chúng ta đangnhập chiều cao của các bạn học sinh lớp 8 Em hãy viết chương trình in ra và tìm giá trị lớn nhất và nhỏ nhất của các dãy số đó
Bài 1
Var a:array:[1..1000] of real;
i,n:integer;
max,min:real;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap chieu cao ban 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('Ban cao nhat la ',max:10:2);
write('Ban thap nhat la ',min:10:2);
Readln
End.
Hãy viết chương trình pascal thực hiện các công việc sau
a ) Nhập vào 1 dãy số nguyên
b ) Hiện thị dãy số vừa nhập
c ) Tính trung bình công của dãy số đó
d ) Hiện thị các số là bội của 3
e ) Hiện thị các số lẻ là bội của 5
f ) Tìm số lớn nhất có trong dãy
g ) Đưa số lớn nhất lên đầu dãy nhưng không làm mất các giá trị có trong dãy
h ) Tính trung bình cộng số thứ 8 và số thứ 10 ở trong dãy
Mai mình thi rồi , mong mọi người giúp e vs ạ
Var a:array:[1..1000] of integer;
i,n,max,t,d:integer;
s:longint;
tb:real;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap diem thu ',i,' = ');readln(a[i]);
s:=s+a[i];
End;
tb:=s/n;
Write('Cac so vua nhap la: ');
For i:=1 to n do
Write(a[i]:8);
writeln;
writeln('Trung binh cong cua day la ',tb:10:2);
Write('Cac so la boi cua 3 la ');
For i:=1 to n do
if a[i] mod 3 = 0 then write(a[i]:8);
writeln;
write('Cac so le la boi cua 5 la ');
for i:=1 to n do
if (a[i] mod 2 <> 0) and (a[i] mod 5 = 0) then
write(a[i]:8);
Writeln;
max:=a[1];
for i:=1 to n do
if a[i] > max then
begin
max:=a[i];
d:=i;
End;
Writeln('So lon nhat la ',max);
t:=a[1];
a[1]:=max;
a[d]:=t;
Write('Day sau khi dem so lon nhat ra truoc ');
For i:=1 to n do
write(a[i]:8)
writeln;
tb:=(a[8] + a[10])/2);
Write(Trung binh cong cua so thu 8 va thu 10 la ',tb:10:2);
Readln
End.
nhập số nguyên dương n in ra tổng các số nguyên dương n và dãy số a1 a2...an. Hãy in ra số lớn nhất (max) của dãy số đó
Bài 1
Var a:array:[1..1000] of integer;
i,n:integer;
s:longint;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap so thu ',i,' = ');readln(a[i]);
s:=s+a[i];
End;
Write('Cac so vua nhap la: ');
For i:=1 to n do
Write(a[i]:8);
writeln;
write('Tong cac so la ',s);
Readln
End.
Viết chương trình nhập vào 1 dãy số nguyên có n phần tử
đưa ra màn hình các phần tử có giá trị âm trong dãy
tìm phần tử lớn nhất có trong dãy
Giúp t với chiều t thi r *cầu xin đó*
Uses crt;
var i,n,max: longint;
a: array[1..100] of longint;
begin clrscr;
readln(n);
fot i:=1 to n do read(a[i]); readln;
for i:=1 to n do if(a[i]<0) then write(a[i],' ');
max:=a[1];
for i:=1 to n do if(max<a[i]) then max:=a[i];
writeln(max);
readln;
end.
viết chuương trình pascal sử dụng biến mảng để nhập từ bàn phím N phần tử của 1 dãy số . In ra màn hình số lớn nhất và số nhỏ nhất . Độ dài N của dãy cũng được nhập từ bàn phím
program TimMaxMinCuaMang;
var
mang: array of integer;
n, i, max, min: integer;
begin
write('Nhap so phan tu cua mang: ');
readln(n);
setlength(mang, n);
writeln('Nhap cac phan tu cua mang:');
for i := 0 to n-1 do
begin
readln(mang[i]);
end;
max := mang[0];
min := mang[0];
for i := 1 to n-1 do
begin
if mang[i] > max then
max := mang[i];
if mang[i] < min then
min := mang[i];
end;
writeln('Phan tu lon nhat la: ', max);
writeln('Phan tu nho nhat la: ', min);
readln;
end.
Var a:array:[1..1000] of integer;
i,n,min,max:integer;
Begin
Write('N = ');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('So lon nhat la ',max);
write('So nho nhat la ',min);
Readln
End.
Viết chương trình nhập vào 100 số nguyên rồi tìm giá trị lớn nhất của dãy số đó.
Giúp mình với ạaa
Var a:array:[1..100] of integer;
i,max:integer;
Begin
For i:=1 to 100 do
Begin
Write('Nhap so thu ',i,' = ');readln(a[i]);
End;
max:=a[1];
For i:=2 to n do
If a[i] > max then max:=a[i];
write('So lon nhat la ',max);
Readln
End.
Uses crt;
var i,n,max; longint;
a: array[1..100] of longint;
begin clrscr;
readln(n);
for i:=1 to n do read(n); readln;
max:=a[1];
for i:=1 to n do if(max<a[i]) then max:=a[i];
write('So nguyen lon nhat la: ',max);
readln;
end.
Var a:array:[1..100] of integer;
i,max:integer;
Begin
For i:=1 to 100 do
Begin
Write('Nhap so thu ',i,' = ');readln(a[i]);
End;
max:=a[1];
For i:=2 to 100 do
If a[i] > max then max:=a[i];
write('So lon nhat la ',max);
Readln
End.
viết chương trình dãy số phần tử a gồm n phần tử (n nhập vào từ bàn phím). in ra màn hình: các phần tử của dãy, các phần tử chẵn của dãy, các phần tử lẻ của dãy.
Lưu ý: viết chung một phương trình luôn nhé
Mai mình phải nộp rồi (ngày6/5) mong mọi người giúp đỡ
Viết chương trình nhập mảng gồm N số nguyên từ bàn phím và in ra màn hình các dãy số vừa nhập đó
program Nhapmang;
const MAX_N = 100;
var A: array[1..MAX_N] of integer;
N, i:integer;
begin
write('Nhap so phan tu: '); readln(N);
for i:= 1 to N do begin
write('Nhap phan tu ', i, ': ');
readln(A[i]);
end;
writeln('Day so vua nhap la:');
for i:= 1 to N do
write(A[i], ' ');
end.