Trúc Linh

Cho dãy N số nguyên (với n nhập vào từ bàn phím). Viết chương trình thực hiện các yêu cầu sau.

a. Nhập vào dãy số n và giá trị từng phần tử của dãy.

b. Xuất giá trị của dãy vừa nhập.

c. Tính tổng các phần tử của dãy

d. In ra màn hình giá trị Max, Min của dãy.

e. Tính tổng các phần tử dương của dãy

f. Tính tổng các phần tử âm của dãy.

g. Tính tổng các phần tử chẵn của dãy.

h. Tính tổng các phần tử lẻ của dãy.

i. Sắp xếp các phần của dãy theo thứ tự giảm dần.

k. Sắp xếp các phần của dãy theo thứ tự tăng dần.

Phía sau một cô gái
9 tháng 4 2023 lúc 20:14

program tinh_toan_day_so;

const

     MAX = 1000;

var

     a: array[1..MAX] of integer;

     n, i, tong, tong_duong, tong_am, tong_chan, tong_le, max, min, temp: integer;

begin

     // Nhập dãy số và giá trị từng phần tử của dãy

     write('Nhập số phần tử của dãy: ');

     readln(n);

     for i := 1 to n do

     begin

          write('Nhập phần tử thứ ', i, ': ');

          readln(a[i]);

     end;

     // Xuất giá trị của dãy vừa nhập

     writeln('Dãy số vừa nhập là: ');

     for i := 1 to n do

     begin

          write(a[i], ' ');

     end;

     writeln();

     // Tính tổng các phần tử của dãy

     tong := 0;

     for i := 1 to n do

     begin

          tong := tong + a[i];

     end;

     writeln('Tổng các phần tử của dãy là: ', tong);

     // Tìm giá trị Max, Min của dãy

     max := a[1];

     min := a[1];

     for i := 2 to n do

     begin

          if a[i] > max then

          begin

               max := a[i];

          end;

          if a[i] < min then

          begin

               min := a[i];

          end;

     end;

     writeln('Phần tử lớn nhất của dãy là: ', max);

     writeln('Phần tử nhỏ nhất của dãy là: ', min);

     // Tính tổng các phần tử dương, âm, chẵn, lẻ của dãy

     tong_duong := 0;

     tong_am := 0;

     tong_chan := 0;

     tong_le := 0;

     for i := 1 to n do

     begin

          if a[i] > 0 then

          begin

               tong_duong := tong_duong + a[i];

          end

          else

          begin

               tong_am := tong_am + a[i];

          end;

          if a[i] mod 2 = 0 then

          begin

               tong_chan := tong_chan + a[i];

          end

          else

          begin

               tong_le := tong_le + a[i];

          end;

     end;

     writeln('Tổng các phần tử dương của dãy là: ', tong_duong);

     writeln('Tổng các phần tử âm của dãy là: ', tong_am);

     writeln('Tổng các phần tử chẵn của dãy là: ', tong_chan);

     writeln('Tổng các phần tử lẻ của dãy là: ', tong_le);

     // Sắp xếp các phần tử của dãy theo thứ tự giảm dần

     for i := 1 to n-1 do

     begin

          for j := i+1 to n do

          begin

               if a[i] < a[j] then

               begin

                    temp := a[i];

                    a[i] := a[j];

                    a[j] := temp;

               end;

          end;

     end;

     writeln('Dãy số sau khi được sắp xếp giảm dần là: ');

     for i := 1 to n do

     begin

          write(a[i], ' ');

     end;

     writeln();

     // Sắp xếp các phần tử của dãy theo thứ tự tăng dần

     for i := 1 to n-1 do

     begin

     for j := i+1 to n do

     begin

          if a[i] > a[j] then

               begin

                    temp := a[i];

                    a[i] := a[j];

                    a[j] := temp;

               end;

          end;

     end;

     writeln('Dãy số sau khi được sắp xếp tăng dần là: ');

     for i := 1 to n do

     begin

          write(a[i], ' ');

     end;

     writeln();

     readln;

end.

Bình luận (0)
BOXWICKED
25 tháng 12 2023 lúc 16:56

rất dài nha bạn:


 

program XuLyDaySo;

var
  N, i, soNguyen: integer;
  daySo: array of integer;

procedure NhapDaySo(var daySo: array of integer; N: integer);
var
  i: integer;
begin
  SetLength(daySo, N);
  for i := 0 to N - 1 do
  begin
    write('Nhap phan tu thu ', i + 1, ': ');
    readln(daySo[i]);
  end;
end;

procedure XuatDaySo(daySo: array of integer);
var
  i: integer;
begin
  writeln('Danh sach cac phan tu trong day:');
  for i := 0 to Length(daySo) - 1 do
    write(daySo[i], ' ');
  writeln;
end;

function TinhTongDaySo(daySo: array of integer): integer;
var
  i, tong: integer;
begin
  tong := 0;
  for i := 0 to Length(daySo) - 1 do
    tong := tong + daySo[i];
  TinhTongDaySo := tong;
end;

procedure TimMaxMin(daySo: array of integer; var Max, Min: integer);
var
  i: integer;
begin
  Max := daySo[0];
  Min := daySo[0];
  for i := 1 to Length(daySo) - 1 do
  begin
    if daySo[i] > Max then
      Max := daySo[i];
    if daySo[i] < Min then
      Min := daySo[i];
  end;
end;

function TinhTongDuong(daySo: array of integer): integer;
var
  i, tong: integer;
begin
  tong := 0;
  for i := 0 to Length(daySo) - 1 do
    if daySo[i] > 0 then
      tong := tong + daySo[i];
  TinhTongDuong := tong;
end;

function TinhTongAm(daySo: array of integer): integer;
var
  i, tong: integer;
begin
  tong := 0;
  for i := 0 to Length(daySo) - 1 do
    if daySo[i] < 0 then
      tong := tong + daySo[i];
  TinhTongAm := tong;
end;

function TinhTongChan(daySo: array of integer): integer;
var
  i, tong: integer;
begin
  tong := 0;
  for i := 0 to Length(daySo) - 1 do
    if daySo[i] mod 2 = 0 then
      tong := tong + daySo[i];
  TinhTongChan := tong;
end;

function TinhTongLe(daySo: array of integer): integer;
var
  i, tong: integer;
begin
  tong := 0;
  for i := 0 to Length(daySo) - 1 do
    if daySo[i] mod 2 <> 0 then
      tong := tong + daySo[i];
  TinhTongLe := tong;
end;

procedure SapXepGiamDan(var daySo: array of integer);
var
  i, j, temp: integer;
begin
  for i := 0 to Length(daySo) - 2 do
    for j := i + 1 to Length(daySo) - 1 do
      if daySo[i] < daySo[j] then
      begin
        temp := daySo[i];
        daySo[i] := daySo[j];
        daySo[j] := temp;
      end;
end;

procedure SapXepTangDan(var daySo: array of integer);
var
  i, j, temp: integer;
begin
  for i := 0 to Length(daySo) - 2 do
    for j := i + 1 to Length(daySo) - 1 do
      if daySo[i] > daySo[j] then
      begin
        temp := daySo[i];
        daySo[i] := daySo[j];
        daySo[j] := temp;
      end;
end;

begin
  // Nhập số lượng phần tử N
  write('Nhap so luong phan tu N: ');
  readln(N);

  // Nhập dãy số
  NhapDaySo(daySo, N);

  // Xuất dãy số
  XuatDaySo(daySo);

  // Tính tổng dãy số
  writeln('Tong cac phan tu cua day: ', TinhTongDaySo(daySo));

  // Tìm Max, Min
  var Max, Min: integer;
  TimMaxMin(daySo, Max, Min);
  writeln('Gia tri lon nhat trong day: ', Max);
  writeln('Gia tri nho nhat trong day: ', Min);

  // Tính tổng các phần tử dương
  writeln('Tong cac phan tu duong cua day: ', TinhTongDuong(daySo));

  // Tính tổng các phần tử âm
  writeln('Tong cac phan tu am cua day: ', TinhTongAm(daySo));

  // Tính tổng các phần tử chẵn
  writeln('Tong cac phan tu chan cua day: ', TinhTongChan(daySo));

  // Tính tổng các phần tử lẻ
  writeln('Tong cac phan tu le cua day: ', TinhTongLe(daySo));

  // Sắp xếp giảm dần
  SapXepGiamDan(daySo);
  writeln('Day sau khi sap xep giam dan:');
  XuatDaySo(daySo);

  // Sắp xếp tăng dần
  SapXepTangDan(daySo);
  writeln('Day sau khi sap xep tang dan:');
  XuatDaySo(daySo);

  readln;
end.

Bình luận (0)

Các câu hỏi tương tự
Ẹih bw
Xem chi tiết
Thùy Linh Võ
Xem chi tiết
Vàng Phan Thanh
Xem chi tiết
Nguyễn Thùy Linh
Xem chi tiết
Mai Phương Lê
Xem chi tiết
anh vương
Xem chi tiết
AETC丶NhấtㅤGG
Xem chi tiết
Đỗ Nguyễn Thùy Lâm
Xem chi tiết
Thái Hồng Sương
Xem chi tiết