Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Mảng hai chiều, ma phương. Cần giúp đỡ

  1. #1
    No Avatar
    cardinaltrieu Khách

    Question Mảng hai chiều, ma phương. Cần giúp đỡ

    BÀI 1: Ma phương là một bảng vuông cấp n, trong mỗi ô nhận một giá trị sao cho mỗi hàng,mỗi cột và mỗi đường chéo đều thoã màn một tính P nào đó cho trước.
    Bài toán ma phương ở đây như sau:
    “Hãy điền các số từ 1 đến n*n vào ma trận cấp n ( n>2, chỉ xét trường hợp n là số lẻ ) với tính chất P là tổng các số bằng nhau”
    Ví dụ với N =5 thì OUTPUT là:
    11 18 25 2 9
    10 12 19 21 3
    4 6 13 20 22
    23 5 7 14 16
    17 24 1 8 15

    BÀI 2:In bảng vuông theo quy luật được mô tả như sau:
    Ví dụ với n = 5
    1 9 36 100 31
    4 25 81 37 17
    16 64 41 19 7
    49 43 23 11 3
    47 29 13 5 2


    em la newbie mới học lập trình c++, nên khả năng giả bài còn yếu, mong các bác cao thủ võ lâm giải dùm em bài tập ở trên ... Em cám ơn rất nhiều!

  2. #2
    Ngày gia nhập
    11 2006
    Bài viết
    633

    BÀI 1: Ma phương là một bảng vuông cấp n, trong mỗi ô nhận một giá trị sao cho mỗi hàng,mỗi cột và mỗi đường chéo đều thoã màn một tính P nào đó cho trước.
    Bài toán ma phương ở đây như sau:
    “Hãy điền các số từ 1 đến n*n vào ma trận cấp n ( n>2, chỉ xét trường hợp n là số lẻ ) với tính chất P là tổng các số bằng nhau”
    Ví dụ với N =5 thì OUTPUT là:
    11 18 25 2 9
    10 12 19 21 3
    4 6 13 20 22
    23 5 7 14 16
    17 24 1 8 15
    Chưa từng làm bao giờ, chịu
    BÀI 2:In bảng vuông theo quy luật được mô tả như sau:
    Ví dụ với n = 5
    1 9 36 100 31
    4 25 81 37 17
    16 64 41 19 7
    49 43 23 11 3
    47 29 13 5 2
    Ko hiểu quy luật, chịu
    Bó tay cả 2 bài, ko giúp được, mình mới biết bấm bàn phím à, chưa học về lập trình nên ko bít, sorry hén

  3. #3
    No Avatar
    cardinaltrieu Khách

    ai đó giúp em với !!! sao moderator cũng không làm được nữa à!

  4. #4
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Ặc .. 2 bài này pete giải ngày xưa rùi đấy thui .. Bạn dùng nút : search nhé ^.^ . Chúc bạn may mắn !
    None!

  5. #5
    No Avatar
    cardinaltrieu Khách

    @ anhPete , anh chỉ em cách search với ! Em không biết nên search như thế nào? Em thật sự cần bài giải của hai bài này lắm ! em cảm ơn nhiều!

  6. #6
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định Mảng hai chiều, ma phương. Cần giúp đỡ

    Bài 1 : pete gợi ý nè :
    * Bạn để ý thứ tự sắp xếp của các con số từ 1 đến n*n xem ...
    Ví dụ : 1-[4,2] -> 2-[0,3] -> 3-[1,4] ..... cuối cùng n*n bao giờ cũng phải đối xứng với 1.
    Điều này có nghĩa là bạn phải tạo một ma trận có qui luật :
    * Số 1 phải nằm ở hàng cuối cùng và ở cột giữa
    * Các số tiếp theo di chuyển :
    _ Hàng tăng 1 , cột tăng 1
    _ Nếu hàng hoặc cột quá đường biên thì quay về vị trí đầu.
    * Số cuối cùng phải đối xứng với 1 theo hàng

    Bài 2 : Cái này nếu bạn để ý thì thấy :
    * Nửa trái trên toàn là các số chính phương
    * Nửa phải dưới toàn là các số nguyên tố
    -> Cái này thì cứ xếp số thôi
    [Bạn có thể đơn giản hóa bài này bằng cách lập trước 2 mảng A[], B[] với : A chứa các số chình phương và B chứa các số nguyên tố -> tài nguyên sẽ tốn gấp đôi ]

    Chúc may mắn nhé !
    None!

  7. #7
    No Avatar
    cardinaltrieu Khách

    @ anhPete , em đã thử làm hai bài theo hướng dãn của anh nhưng không ra, chạy nó cứ báo lỗi , . Hai bài này thầy cho em về nhà làm, sau đó đem lên báo cáo...nên .. em rất cần bài giải của hai bài này ! giúp em làm bài này đi!

  8. #8
    Ngày gia nhập
    01 2007
    Nơi ở
    TP HCM
    Bài viết
    11

    bài hay thế này mà sao chẳng có ai giải hết vậy?

  9. #9
    No Avatar
    Leon88 Khách

    Trích dẫn Nguyên bản được gửi bởi SevenNo7 Xem bài viết
    bài hay thế này mà sao chẳng có ai giải hết vậy?
    Theo lời bạn mình tiện tay làm cái code bài 1 luôn

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. main()
    4. {
    5. int n,dem,i,j;
    6. int a[100][100];
    7. printf("\nNhap vao so n : ");scanf("%d",&n);
    8. for (i=1;i<=n;i++)
    9. for (j=1;j<=n;j++) a[i][j]=0;
    10. if (n%2!=0)
    11. {
    12.  a[n][(n/2+1)]=1;
    13.  a[1][(n/2+1)]=n*n;
    14.  dem=1;j=n/2+1;i=n;
    15.  while (dem<=n*n-1)
    16.  {
    17.  ++i;++dem;++j;
    18.  if (i>n) i=1; if (i<1) i=n;
    19.  if (j>n) j=1; if (j<1) j=n;
    20.  if (a[i][j]!=0)
    21.   {
    22.   --i;if(i>n) i=1; if(i<1) i=n;
    23.   --i;if(i>n) i=1; if (i<1) i=n;
    24.   --j;if(j>n) j=1; if (j<1) j=n;
    25.   }
    26.   if (a[i][j]==0) a[i][j]=dem;
    27.  }
    28. }
    29.  
    30. for (i=1;i<=n;i++)
    31. {
    32. printf("\n\n");
    33. for (j=1;j<=n;j++)
    34. {
    35. printf("%d  ",a[i][j]);
    36. }
    37. }
    38. getch();
    39. }

  10. #10
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Các bạn đã biết bài toán sokodu chưa?
    Hãy tham gia nhóm của bạn hailoc để có cơ hội tiếp xúc với các bài toán và thuật toán hay.

Các đề tài tương tự

  1. giúp em bài tập về mảng 1 chiều
    Gửi bởi sooyoo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 03-03-2013, 08:43 AM
  2. Cách truyền mang 1 chiều cho hàm bài con trỏ và mảng một chiều ai có thể giải thích giúp mình
    Gửi bởi biencute trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 21-03-2012, 09:00 AM
  3. Bài tập C++ về mảng 2 chiều, các bạn chỉ giúp???
    Gửi bởi itthuyloi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 31-07-2010, 04:06 PM
  4. Giúp em bài tập về mảng 1 và 2 chiều
    Gửi bởi vic_trongkhang trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 06-10-2009, 08:28 AM
  5. 1 bài về mảng một chiều có bạn nào có thể giúp mình được ko?
    Gửi bởi kellypham trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 05-12-2007, 04:28 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn