Trang 2 / 3 FirstFirst 123 LastLast
Hiển thị kết quả từ 11 đến 20 / 27
  1. #11
    Tham gia
    19-09-2007
    Bài viết
    31
    Like
    0
    Thanked 0 Times in 0 Posts
    em chiu ko hieu ,ai lam duoc bai nay lam on gui vao hom mail cua em ,em cam on nhieu
    email:trongduck5d@gmail.com

  2. #12
    Tham gia
    20-09-2007
    Bài viết
    140
    Like
    0
    Thanked 1 Time in 1 Post

    Mình nghĩ vậy
    1, Tạo cột đầu tiên : i:=1,j:=1--->n a[i,j]:=j
    2, Dùng 2 vòng for xác định mảng như sau
    For i:=1 to m do
    For j:=2 to n do
    a[i,j]:=a[i;j-1]+n
    Nếu có ý kiến đóng góp xin các bạn post ngay lên để cùng thảo luận <thanks>

  3. #13
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    procedure dao(var a:matrix;n:integer;l:integer);
    var j:integer;
    begin
    for j:=1 to n div 2 do
    hv(a[l,j],a[l,n-j+1]);
    end;

  4. #14
    Tham gia
    20-09-2007
    Bài viết
    140
    Like
    0
    Thanked 1 Time in 1 Post
    Mình không hiểu lắm, thuong giải thích kĩ hơn được không?

  5. #15
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    thả lòng cái thằng HÀng, cho cột chạy thôi(vì CT con mà) khi MAIN gọi nó thì phải để trong vòng FOR i:=.....
    VD: voi l=1, n=4 ->n div 2=2;
    gia su dang xet o hàng 1(l=1);
    HV(a[1,1],a[1,4]);
    HV(a[1,2],a[1,3])-->hết-->mảng đã đảo duoc 1 hàng .....
    (bạn cứ thử vài cái TEST chạy bằng tay là OK mà)

  6. #16
    Tham gia
    19-04-2008
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Bài tập Pascal đó có gì khó đâu?

    Bạn xem bài này rồi tham khảo nhé!
    chúc bạn thành công.
    {chuong trinh tao mot vong xoan oc
    tang dan}
    uses crt;
    var
    a:array[1..5,1..5] of integer;
    w,dong,cot,dtang,ctang,dgiam,cgiam,gt:integer;
    i,j:integer;
    begin
    clrscr;
    dtang:=5;dgiam:=1;ctang:=5;cgiam:=1;
    dong:=1;cot:=1;
    gt:=0;
    for w:= 1 to 5 * 5 do
    begin
    a[dong,cot]:=w;
    case gt of
    0: begin {tang cot}
    if cot < ctang then
    cot:=cot+1
    else
    begin
    gt:=1;
    dong:=dong+1;ctang:=ctang-1;
    end;
    end;
    1:begin {tang dong}
    if dong< dtang then
    dong:=dong+1
    else
    begin
    gt:=2;{gam cot}
    cot:=cot-1;dtang:=dtang-1;
    end;
    end;
    2:begin
    if cot>cgiam then
    cot:=cot-1
    else
    begin
    gt:=3;
    dong:=dong-1;cgiam:=cgiam+1;
    end;
    end;
    3:begin
    if dong>dgiam+1 then
    dong:=dong -1
    else
    begin
    gt:=0;cot:=cot+1;dgiam:=dgiam+1;
    end;
    end;
    end;
    end;
    for i:=1 to 5 do
    begin
    for j:=1 to 5 do
    write(a[i,j]:4);
    writeln;
    end;
    readln;
    end.

    [=========> Bổ sung bài viết <=========]

    Xét các số nguyên từ 1-->N, các số này được sắp xếp theo thứ tự từ điển.
    ví dụ: N=11 thì ta có dãy số sau:
    1 10 11 2 3 4 5 6 7 8 9
    kí hiệu Q(n,k) là vị trí số k trong dãy số được sắp xếp theo cách nói trên.
    ví dụ:
    Q(11,2) = 4
    Bài toán:
    Cho các số nguyên k và M
    Nhiệm vụ:
    Hãy tìm số nguyên n nhỏ nhất thỏa mãn Q(n,k)=M
    ví dụ:
    k=2; M=4 ---> N=11

    Mời các cao thủ giúp mình nhé.

    [=========> Bổ sung bài viết <=========]

    Xét các số nguyên từ 1-->N, các số này được sắp xếp theo thứ tự từ điển.
    ví dụ: N=11 thì ta có dãy số sau:
    1 10 11 2 3 4 5 6 7 8 9
    kí hiệu Q(n,k) là vị trí số k trong dãy số được sắp xếp theo cách nói trên.
    ví dụ:
    Q(11,2) = 4
    Bài toán:
    Cho các số nguyên k và M
    Nhiệm vụ:
    Hãy tìm số nguyên n nhỏ nhất thỏa mãn Q(n,k)=M
    ví dụ:
    k=2; M=4 ---> N=11

    Mời các cao thủ giúp mình nhé.

    [=========> Bổ sung bài viết <=========]

    Các cao thủ hãy vào đây nè
    http://hoanvu1133.blogtiengviet.net/
    Được sửa bởi hoanvu1133 lúc 13:17 ngày 19-04-2008 Reason: Bổ sung bài viết

  7. #17
    Tham gia
    25-02-2009
    Bài viết
    2
    Like
    0
    Thanked 0 Times in 0 Posts
    mấy ông lam` nhìu cách nhĩ

  8. #18
    Tham gia
    19-07-2008
    Location
    CĐV-Phú Tân-Cà Mau
    Bài viết
    124
    Like
    0
    Thanked 2 Times in 2 Posts
    Quote Được gửi bởi megaxlr0504 View Post
    Nhập vào mảng 2 chiều m x n phần tử. Sắp xếp mảng như sau:

    Vi dụ:
    Mảng nhập vào:
    1 2 3
    4 5 6
    7 8 9
    10 11 12

    Sau khi sắp xếp:
    1 8 9
    2 7 10
    3 6 11
    4 5 12

    Các bạn chỉ giúp mình thuật giải
    Program Mang;
    Uses crt;
    Const Max=100;
    Var A,C: Array[1..Max,1..Max] of Integer;
    ..... B: Array[1..Max*Max] of Integer;

    Procedure Nhap;
    Var i,j:Integer;
    Begin
    .. Clrscr;
    .. Write('Nhap so hang, so cot: ');
    .. Readln(m,n);
    .. For i:=1 to m do
    ..... Begin
    ........ Writeln('Nhap cac phan tu cua hang ',i)
    ........ For j:=1 to n do Read(A[i,j]);
    ..... End;
    End;

    Procedure Chuyen_2c_1c;
    Var i,j,l:Integer;
    Begin
    .. l:=0;
    .. For i:=1 to m do
    ..... For j:=1 to n do
    ........ Begin
    ........... l:=l+1;
    ........... B[l]:=A[i,j];
    ........ End;
    End;

    Procedure Chuyen_1c_2c;
    Var i,j,l:Integer;
    Begin
    .. l:=0;
    .. For j:=1 to n do
    ..... For i:=1 to m do
    ........ Begin
    ........... l:=l+1;
    ........... C[i,j]:=B[l];
    ........ End;
    End;

    Procedure Xuli;
    Var i,j:Integer;
    Begin
    .. For j:=1 to n do
    ..... If j mod 2 = 0 then
    ........ For i:=1 to m div 2 do C[i,j]:=C[m-i+1,j];
    End;

    Procedure Xuat;
    Var i,j:Integer;
    Begin
    .. Writeln('Mang kq:');
    .. For i:=1 to m do
    ..... Begin
    ........ For j:=1 to n do Write(C[i,j]:8);
    ........ Writeln;
    ..... End;
    .. Readln;
    End;

    BEGIN
    .. Nhap;
    .. Chuyen_2c_1c;
    .. Chuyen_1c_2c;
    .. Xuli;
    .. Xuat;
    END.


    Giải thích tác dụng các thủ tục:

    Nhap: Nhập dữ liệu từ bàn phím {Lưu trong mảng 2 chiều A}. VD:
    ........ 1 2 3
    ........ 4 5 6
    ........ 7 8 9
    ........ 10 11 12

    Chuyen_2c_1c: Tạo mảng 1 chiều B lưu:
    ...... 1 2 3 4 5 6 7 8 9 10 11 12

    Chuyen_1c_2c: Tạo mảng 2 chiều C lưu:
    ........ 1 5 9
    ........ 2 6 10
    ........ 3 7 11
    ........ 4 8 12

    Xuli: Biến đổi mảng C thành
    ........ 1 8 9
    ........ 2 7 10
    ........ 3 6 11
    ........ 4 5 12

    Xuat: In kq (mảng C) ra màn hình

    [=========> Bổ sung bài viết <=========]

    Quote Được gửi bởi hoanvu1133 View Post
    Xét các số nguyên từ 1-->N, các số này được sắp xếp theo thứ tự từ điển.
    ví dụ: N=11 thì ta có dãy số sau:
    1 10 11 2 3 4 5 6 7 8 9
    kí hiệu Q(n,k) là vị trí số k trong dãy số được sắp xếp theo cách nói trên.
    ví dụ:
    Q(11,2) = 4
    Bài toán:
    Cho các số nguyên k và M
    Nhiệm vụ:
    Hãy tìm số nguyên n nhỏ nhất thỏa mãn Q(n,k)=M
    ví dụ:
    k=2; M=4 ---> N=11

    Mời các cao thủ giúp mình nhé.

    Program BT;
    Uses crt;
    Const max = 1000;
    Var Q: Array[1..max] of Integer;
    ...... N,M,k:Integer;


    {Kiểm tra x có nhỏ hơn y theo thứ tự từ điển không}

    Function Nho_hon(x,y:Integer): Boolean;
    Var c1,c2: String;
    Begin
    .. Str(x,c1); Str(y,c2);
    .. If c1<c2 then Nho_hon:=True Else Nho_Hon:=False;
    End;

    {Tạo Dãy Q bằng đệ quy}

    Procedure Tao_Q(N:Integer);
    Var i:Integer;
    Begin
    .. If N=1 then Q[N]:=1
    .. Else
    ..... Begin
    ........ Tao_Q(N-1);
    {------------Chèn N vào dãy Q[N-1] cho đúng trật tự từ điển------------}
    ........ i:=N-1;
    ........ While (i>0) and (Nho_Hon(N,Q[i])) do
    ........... Begin
    .............. Q[i+1]:=Q[i];
    .............. i:=i-1;
    ........... End;
    ........ Q[i+1]:=N;
    {----------------------------------------------------------------------}
    ..... End;
    End;

    BEGIN
    .. Write('Nhap k,M: ');
    .. Readln(k,M);
    .. N:=0;
    .. Repeat
    ..... N:=N+1;
    ..... Tao_Q(N);
    ..... If Q[k]=M then Writeln('N = ',N);
    .. Until Q[k]=M;
    END.
    Được sửa bởi nhat_truong lúc 00:39 ngày 24-06-2009 Reason: Bổ sung bài viết

  9. #19
    Tham gia
    03-07-2009
    Bài viết
    6
    Like
    0
    Thanked 0 Times in 0 Posts
    Làm thế nào để thêm cột và hàng vào mảng hai chiều? Giúp mình với, mình đang cần gấp.

  10. #20
    Tham gia
    26-12-2008
    Bài viết
    41
    Like
    0
    Thanked 2 Times in 2 Posts
    Theo em thuat toan la the nay, cac pac tét xem;
    var a,b:aray [1..100] of integer;
    procedure nhap;
    var i,j,n:integer;
    begin
    read(n);
    for i:=1 to n do

    [=========> Bổ sung bài viết <=========]

    for j:=1 to n do
    read(a[i,j]);
    end;
    procedure xuly;
    var i,j:integer;
    begin
    i:=1;
    repeat
    for i:=1 to n do
    b[i,j]:=a[i,j];
    inc(j);
    until j=n;
    end;
    procedure xuat;
    var i,j:integer;
    begin
    for i:=1 to n do
    begin
    for j:=1 to n do
    write(b[i,j]);
    writeln;
    end;
    begin
    nhap;
    xuly;
    xuat;
    end.

    [=========> Bổ sung bài viết <=========]

    the thoi ai co y kien cu bao voi em
    Được sửa bởi Heroboss12 lúc 21:08 ngày 09-08-2009 Reason: Bổ sung bài viết

Trang 2 / 3 FirstFirst 123 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • 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
  •