Bài 1: Sắp xếp (4đ) Cho số tự nhiên n (n<=100) và dãy số nguyên a1,a2,..,an (bao gồm cả số nguyên âm cả số nguyên dương). Hãy đỗi chổ các phần tử của dãy sao cho các phần tử dương nằm ở đầu dãy, các ph...

ADS
thumb up 0
thumb down
Trả lời câu hỏi của vinh Bùi

Làm sao để có câu trả lời hay nhất?

  • Luôn có GIẢI THÍCH các bước giải
  • Không copy câu trả lời của Timi
  • Không sao chép trên mạng
  • Không spam câu trả lời để nhận điểm
  • Spam sẽ bị khóa tài khoản
ADS
CÂU TRẢ LỜI
avatar
Timi

01/04/2025

Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Dưới đây là một đoạn mã Pascal để sắp xếp dãy số nguyên sao cho các phần tử dương nằm ở đầu dãy và các phần tử âm nằm ở cuối dãy: ```pascal program SapXepMang; var n, i, j: Integer; a: array[1..100] of Integer; temp: Integer; begin // Nhập số lượng phần tử Write('Nhập số lượng phần tử n (n <= 100): '); ReadLn(n); // Nhập các phần tử của dãy WriteLn('Nhập các phần tử của dãy:'); for i := 1 to n do begin Read(a[i]); end; // Sắp xếp dãy số j := 1; for i := 1 to n do begin if a[i] >= 0 then begin // Đổi chỗ phần tử dương với phần tử ở vị trí j temp := a[i]; a[i] := a[j]; a[j] := temp; j := j + 1; end; end; // In dãy sau khi đã sắp xếp WriteLn('Dãy sau khi đã sắp xếp:'); for i := 1 to n do begin Write(a[i], ' '); end; WriteLn; end. ``` ### Giải thích mã: 1. **Khai báo biến**: `n` là số lượng phần tử, `a` là mảng chứa các số nguyên, `temp` dùng để hoán đổi các phần tử. 2. **Nhập dữ liệu**: Người dùng nhập số lượng phần tử và các phần tử của dãy. 3. **Sắp xếp**: Sử dụng một vòng lặp để kiểm tra từng phần tử. Nếu phần tử là số dương, nó sẽ được đổi chỗ với phần tử ở vị trí `j`, sau đó `j` được tăng lên. 4. **In kết quả**: Cuối cùng, in ra dãy số đã được sắp xếp. Bạn có thể chạy đoạn mã này trong môi trường lập trình Pascal để kiểm tra kết quả.
Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
avatar
level icon
nguyen93

01/04/2025

```pascal
program SapXepMang;

var
n, i, j: Integer;
a: array[1..100] of Integer;
temp: Integer;

begin
// Nhập số lượng phần tử
Write('Nhập số lượng phần tử n (n <= 100): ');
ReadLn(n);

// Nhập các phần tử của dãy
WriteLn('Nhập các phần tử của dãy:');
for i := 1 to n do
begin
Read(a[i]);
end;

// Sắp xếp dãy số
j := 1;
for i := 1 to n do
begin
if a[i] >= 0 then
begin
// Đổi chỗ phần tử dương với phần tử ở vị trí j
temp := a[i];
a[i] := a[j];
a[j] := temp;
j := j + 1;
end;
end;

// In dãy sau khi đã sắp xếp
WriteLn('Dãy sau khi đã sắp xếp:');
for i := 1 to n do
begin
Write(a[i], ' ');
end;
WriteLn;
end.
```

Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
ADS

Nếu bạn muốn hỏi bài tập

Các câu hỏi của bạn luôn được giải đáp dưới 10 phút

Ảnh ads

CÂU HỎI LIÊN QUAN

logo footer
FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
app store ch play
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved
gift-box
survey
survey
Đặt câu hỏi