Bài tập  /  Bài đang cần trả lời

Viết chương trình chèn 1 số bất kì vào vị trí của mảng, (Pascal)

Viết chương trình chèn 1 số bất kì vào vị trí của mảng. (Pascal)
1 trả lời
Hỏi chi tiết
239
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là một ví dụ về cách chèn một số bất kỳ vào vị trí của một mảng trong Pascal:

```pascal
program InsertNumberIntoArray;

const
MAX_SIZE = 100;

type
IntArray = array[1..MAX_SIZE] of Integer;

var
arr: IntArray;
n, pos, num: Integer;

procedure InsertNumber(var arr: IntArray; var n: Integer; pos, num: Integer);
var
i: Integer;
begin
// Kiểm tra vị trí chèn có hợp lệ hay không
if (pos < 1) or (pos > n + 1) then
begin
writeln('Vị trí chèn không hợp lệ.');
exit;
end;

// Dịch chuyển các phần tử phía sau vị trí chèn sang phải
for i := n downto pos do
arr[i + 1] := arr[i];

// Chèn số vào vị trí đã cho
arr[pos] := num;

// Tăng số lượng phần tử của mảng lên 1
n := n + 1;
end;

procedure PrintArray(arr: IntArray; n: Integer);
var
i: Integer;
begin
writeln('Mảng sau khi chèn số:');
for i := 1 to n do
write(arr[i], ' ');
writeln;
end;

begin
// Nhập số lượng phần tử của mảng
writeln('Nhập số lượng phần tử của mảng:');
readln(n);

// Nhập các phần tử của mảng
writeln('Nhập các phần tử của mảng:');
for i := 1 to n do
readln(arr[i]);

// Nhập vị trí chèn và số cần chèn
writeln('Nhập vị trí chèn:');
readln(pos);
writeln('Nhập số cần chèn:');
readln(num);

// Chèn số vào vị trí của mảng
InsertNumber(arr, n, pos, num);

// In mảng sau khi chèn số
PrintArray(arr, n);
end.
```

Trong ví dụ trên, chúng ta sử dụng một hàm `InsertNumber` để chèn số vào vị trí của mảng. Hàm này kiểm tra xem vị trí chèn có hợp lệ hay không, sau đó dịch chuyển các phần tử phía sau vị trí chèn sang phải và chèn số vào vị trí đã cho. Cuối cùng, chúng ta sử dụng hàm `PrintArray` để in ra mảng sau khi chèn số.
1
0
Trần Nguyễn
07/08/2023 15:53:26
+5đ tặng
program test;
uses crt;
var n,k,h,i,j:longint;
a:array[1..100] of longint;
begin clrscr; write('Nhap so phan tu: '); readln(n);
for i:= 1 to n do readln(a[i]);
write('Nhap vao vi tri can chen: '); readln(k);
write('Nhap vao so can chen: '); readln(h);
for i:= n+1 downto k do
a[i] := a[i-1]; a[k] := h;
for i:= 1 to n+1 do
write(a[i]:5);
readln;
end.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Lập trình Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo