Bài 9. Làm việc với dãy số

iwegfwf
Xem chi tiết
Asuna
Xem chi tiết

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`.

Bình luận (0)
Phạm Dương Phúc Khang
21 tháng 1 lúc 22:55

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.

Bình luận (0)
trần kiều
Xem chi tiết
Kiều Vũ Linh
13 tháng 5 2023 lúc 8:13

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.

Bình luận (1)
quocviet2808
Xem chi tiết
Kiều Vũ Linh
12 tháng 5 2023 lúc 7:55

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.

Bình luận (0)
Nguyễn Xuân Dự
Xem chi tiết
Kiều Vũ Linh
12 tháng 5 2023 lúc 7:59

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.

Bình luận (0)
Châu Thùy
Xem chi tiết
Thanh Phong (9A5)
10 tháng 5 2023 lúc 11:39

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.

Bình luận (0)
Nguyễn Như Ngọc
Xem chi tiết
gấu béo
7 tháng 5 2023 lúc 19:48

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.

Bình luận (0)
Kiều Vũ Linh
8 tháng 5 2023 lúc 8:20

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.

Bình luận (0)
Nguyễn Hồ Hoàng Anh
Xem chi tiết
Kiều Vũ Linh
6 tháng 5 2023 lúc 12:15

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.

Bình luận (0)
Thanh Phong (9A5)
6 tháng 5 2023 lúc 11:21

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.

Bình luận (0)
Kiều Vũ Linh
6 tháng 5 2023 lúc 12:16

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.

Bình luận (0)
Bình
Xem chi tiết
Huỳnh Trúc Ly
Xem chi tiết
Phía sau một cô gái
5 tháng 5 2023 lúc 20:26

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.

Bình luận (0)