1. Trang chủ
  2. » Giáo án - Bài giảng

Cài đặt thuật toán Vector đồ thị bằng Pascal

3 984 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cài đặt thuật toán vector đồ thị bằng Pascal
Trường học Unknown
Chuyên ngành Computer Science
Thể loại Bài tập lớn
Năm xuất bản Unknown
Thành phố Unknown
Định dạng
Số trang 3
Dung lượng 31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CÀI ĐẶT THUẬT TOÁN VECTOR ĐỒ THỊ BẰNGCHƯƠNG TRÌNH PASCAL Vecto đồ thị.. Chương trình kiểm tra một vector có phải là một vector đồ thị hay không.. Dữ liệu được lấy từ tệp VECTO.INP, gồm c

Trang 1

CÀI ĐẶT THUẬT TOÁN VECTOR ĐỒ THỊ BẰNG

CHƯƠNG TRÌNH PASCAL

Vecto đồ thị.

Chương trình kiểm tra một vector có phải là một vector

đồ thị hay không

Dữ liệu được lấy từ tệp VECTO.INP, gồm các vector dạng v =(d1,d2,…dn) gồm n số nguyên giảm dần, được viết theo dòng

Chương trình sẽ kiểm tra vector v và kết quả được lưu vào tệp VECTO.OUT Nếu v là vector đồ thị thì kết quả là YES, ngược lại là NO

Trang 2

Chương trình: (VECTOR.PAS)

Program vecto;

type mang = array[1 20] of integer;

var f,g:text;

v:mang; n:integer;

procedure giamdan(var u:mang;m:integer); var i,j,t:integer;

begin

for i:=1 to m-1 do

for j:=i+1 to m do

if u[i]<u[j] then

begin t:=u[i];

u[i]:=u[j];

u[j]:=t;

end;

end;

function kiemtra(v:mang;m:integer):boolean; var i:integer; u:mang;kt,bietroi:boolean;

begin

u:=v;

giamdan(u,m); kt:=false; bietroi:=true;

for i:=1 to m do

if (u[i]>m-1) or (u[i]<0) then kt:=true

else if u[i]<>0 then bietroi:=false;

if kt then kiemtra:=false

else if bietroi then kiemtra:=true

else begin

for i:=1 to u[1] do u[i]:=u[i+1]-1; for i:=u[1]+1 to m-1 do u[i]:=u[i+1]; giamdan(u,m-1);

kiemtra:=kiemtra(u,m-1);

end;

end;

Begin

Trang 3

writeln(' ct xac dinh vec to do thi');

assign(f,'vecto.inp'); reset(f);

assign(g,'vecto.out'); rewrite(g);

while not eof(f) do

begin

n:=0;

while not eoln(f) do

begin inc(n); read(f,v[n]);

write(v[n]:3);

end;

writeln;

if kiemtra(v,n) then writeln(g,'YES') else writeln(g,'NO');

readln(f);

end;

close(f); close(g);

End

File vào ví dụ: (VECTO.INP)

2 2 1

3 3 2 2 2

5 4 3 3 3 2

File ra tương ứng: (VECTO.OUT)

NO

YES

YES

Ngày đăng: 30/06/2013, 01:26

TỪ KHÓA LIÊN QUAN

w