LH Quảng cáo: lazijsc@gmail.com

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

Viết chương trình nhập vào 2 mảng số nguyên A, B đại diện cho 2 tập hợp (không thể có 2 phần tử trùng nhau trong một tập hợp). Trong quá trình nhập, phải kiểm tra: nếu phần tử vừa nhập vào đã có trong mảng thì không bổ sung

Sử dụng phần mềm pascal
Viết chương trình nhập vào 2 mảng số nguyên A, B đại diện cho 2 tập hợp (không thể có 2 phần tử trùng nhau trong một tập hợp). Trong quá trình nhập, phải kiểm tra: nếu phần tử vừa nhập vào đã có trong mảng thì không bổ sung vào mảng. In ra màn hình các phần tử là giao của 2 tập hợp A, B.
 
1 trả lời
Hỏi chi tiết
259
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là một ví dụ về cách viết chương trình sử dụng ngôn ngữ Pascal để nhập vào 2 mảng số nguyên A và B, kiểm tra và in ra các phần tử là giao của 2 tập hợp A và B:

```pascal
program GiaoCuaHaiTapHop;

const
MAX_SIZE = 100;

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

var
A, B: IntegerArray;
sizeA, sizeB: Integer;
i, j: Integer;
giao: IntegerArray;
sizeGiao: Integer;

procedure NhapMang(var arr: IntegerArray; var size: Integer);
var
i: Integer;
begin
write('Nhap so phan tu cua mang: ');
readln(size);

writeln('Nhap cac phan tu cua mang:');
for i := 1 to size do
begin
readln(arr[i]);
end;
end;

function KiemTraPhanTu(arr: IntegerArray; size: Integer; x: Integer): Boolean;
var
i: Integer;
begin
for i := 1 to size do
begin
if arr[i] = x then
begin
KiemTraPhanTu := True;
exit;
end;
end;

KiemTraPhanTu := False;
end;

procedure InMang(arr: IntegerArray; size: Integer);
var
i: Integer;
begin
for i := 1 to size do
begin
write(arr[i], ' ');
end;
writeln;
end;

begin
// Nhập mảng A
writeln('Nhap mang A:');
NhapMang(A, sizeA);

// Nhập mảng B
writeln('Nhap mang B:');
NhapMang(B, sizeB);

// Tìm các phần tử là giao của 2 tập hợp A và B
sizeGiao := 0;
for i := 1 to sizeA do
begin
if KiemTraPhanTu(B, sizeB, A[i]) then
begin
sizeGiao := sizeGiao + 1;
giao[sizeGiao] := A[i];
end;
end;

// In ra các phần tử là giao của 2 tập hợp A và B
writeln('Cac phan tu la giao cua hai tap hop A va B:');
InMang(giao, sizeGiao);

readln;
end.
```

Lưu ý: Đoạn mã trên chỉ là một ví dụ cơ bản để minh họa cách sử dụng ngôn ngữ Pascal để giải quyết bài toán. Bạn có thể tùy chỉnh và cải tiến mã để phù hợp với yêu cầu cụ thể của bạn.
2
0
manh
26/01 09:15:20
+5đ tặng
program GiaoTapHop;

const
  MAX_SIZE = 100;

var
  A, B, GiaoTapHop: array[1..MAX_SIZE] of integer;
  sizeA, sizeB, sizeGiao: integer;
  i, j, element: integer;
  found: boolean;

procedure NhapMang(var arr: array of integer; var size: integer);
var
  i: integer;
begin
  write('Nhap kich thuoc mang: ');
  readln(size);
  
  writeln('Nhap cac phan tu cua mang:');
  for i := 1 to size do
  begin
    repeat
      write('Phan tu ', i, ': ');
      readln(element);
      found := false;
      for j := 1 to i - 1 do
      begin
        if arr[j] = element then
        begin
          writeln('Phan tu da ton tai trong mang. Nhap lai.');
          found := true;
          break;
        end;
      end;
    until not found;
    arr[i] := element;
  end;
end;

procedure TimGiaoTapHop(A, B: array of integer; sizeA, sizeB: integer; var GiaoTapHop: array of integer; var sizeGiao: integer);
var
  i, j: integer;
begin
  sizeGiao := 0;
  for i := 1 to sizeA do
    for j := 1 to sizeB do
      if A[i] = B[j] then
      begin
        sizeGiao := sizeGiao + 1;
        GiaoTapHop[sizeGiao] := A[i];
      end;
end;

procedure InMang(arr: array of integer; size: integer);
var
  i: integer;
begin
  writeln('Cac phan tu cua mang la:');
  for i := 1 to size do
    write(arr[i], ' ');
  writeln;
end;

begin
  NhapMang(A, sizeA);
  NhapMang(B, sizeB);

  TimGiaoTapHop(A, B, sizeA, sizeB, GiaoTapHop, sizeGiao);

  writeln('Cac phan tu la giao cua hai tap hop:');
  InMang(GiaoTapHop, sizeGiao);
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 Tin học Lớp 8 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

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