Kết quả 1 đến 10 của 52

Threaded View

  1. #31
    Hội Vật Lý Đào Duy Từ
    Ngày tham gia
    09 Jul 2009
    Đang ở
    644 quang trung 2, đông vệ
    Tuổi
    32
    Bài viết
    1,368
    Thanks
    2
    Thanked 6 Times in 6 Posts
    Rep Power
    57

    Mặc định Re: pascan vấn đề thi hgs tin học

    bài 2 :
    program dt;


    uses crt;

    const inp='inp.txt'; out='out.txt';

    var a: array [1..100,1..100] of byte;
    i,j, maxxx :byte; n:integer;
    fi,fo:text;
    {===================================}
    procedure demngang(x,y:byte; var d:byte);
    begin
    d:=0;
    while a[x,y] = 1 do
    begin
    d:=d+1;
    y:=y+1;
    end;
    end;
    {+_+_____________________+}

    procedure demdoc(x,y:byte; var d:byte);

    begin
    d:=0;
    while a[x,y] = 1 do
    begin
    d:=d+1;
    x:=x+1;
    end;
    end;
    {+++++++++++++++++++++++++++++++++++++}
    procedure demcheochinh(x,y:byte; var d:byte);
    begin
    d:=0;
    while a[x,y] = 1 do
    begin
    d:=d+1;
    x:=x+1;
    y:=y+1;
    end;
    end;
    {++++++++++++++++++++++++++++++++++++++++++++++}
    function max(a,b:byte):byte;
    begin
    if a<b then max:=b else max:=a;
    end;
    {+++++++++++++++++++++++++++++++++++++++++++++++++ ++}
    procedure demcheophu(x,y:byte; var d:byte);

    begin
    d:=0;
    if a[x,y] = 1 then
    while (a[x,y] = 1) and (x<>0) do
    begin
    d:=d+1;
    x:=x-1;
    y:=y+1;
    end;
    end;
    procedure xuli;
    var dcc,dcp,dn,dd: array [1..250] of byte;
    ddm,dnm,dcpm, dccm, k:byte;
    begin

    k:=1;
    for i:= 1 to n do
    begin
    for j:= 1 to n do
    begin
    demngang(i,j,dn[k]);
    { write(dn[k]); }
    k:=k+1;
    end;
    writeln;
    end;
    k:=1;
    for i:= 1 to n do
    begin
    for j:= 1 to n do
    begin
    demdoc(i,j,dd[k]);
    { write(dd[k]); }
    k:=k+1;
    end;
    writeln;
    end;
    k:=1;
    for i:= 1 to n do
    begin
    for j:= 1 to n do
    begin

    demcheochinh(i,j,dcc[k]);
    { write(dcc[k]);{P{}
    k:=k+1;
    end;
    writeln;
    end;
    k:=1;
    for i:= 1 to n do
    begin
    for j:= 1 to n do
    begin
    demcheophu(i,j,dcp[k]);
    { write(dcp[k]); {}
    k:=k+1;
    end;
    writeln;
    end;

    ddm:=0;
    dccm:=0;
    dnm:=0;
    dcpm:=0;
    for i:=1 to n*n do
    begin
    if ddm<dd[i] then ddm:=dd[i];
    if dccm<dcc[i] then dccm:=dcc[i];
    if dcpm<dcp[i] then dcpm:=dcp[i];
    if dnm<dn[i] then dnm:=dn[i];

    end;
    maxxx:=max(max(max (ddm,dnm),dccm),dcpm);
    writeln;
    {write(maxxx:2,ddm:2,dccm:2,dcpm:2,dnm:2); }
    readln;
    end;

    {______________________+++++++}

    procedure nhap;
    begin
    assign(fi,inp);
    reset(fi);

    read(fi,n);

    for i:=1 to n do
    for j:=1 to n do
    read(fi,a[i,j]) ;


    close(fi);
    { clrscr;
    write(' nhap n ') ;
    readln(n);
    write ('nhep ma tran');
    for i:=1 to n do
    for j:=1 to n do
    begin
    Write('nhap a[',i,',',j,']=');
    readln(a[i,j]) ;
    end;

    for i:=1 to n do
    begin
    for j:=1 to n do
    begin
    write(a[i,j]);
    end;
    writeln;
    end;
    readln; }
    end;
    {++++++++++++++++++++++++++++++++++++++++++_}
    procedure xuat;

    begin
    assign (fo,out);
    rewrite(fo);
    write(fo, maxxx);
    close(fo);
    end;
    begin
    nhap;
    xuli;
    xuat;
    end.

    mọi nguơif xem hộ xem saio o đâu không né
    Lần sửa cuối bởi thanhkhoeo, ngày 17-03-2011 lúc 08:27 PM.
    Tôi muốn làm nên tất cả

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •