Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 21 kết quả

Đề tài: Kiểm tra trong 1 ma trận có ma trận đơn vị hay không ???

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    6

    Angry Kiểm tra trong 1 ma trận có ma trận đơn vị hay không ???

    Vấn đề là như zầy nè các bác : một ma trận (m x n) được nhập vào từ bàn phím hoặc tập tin, cần kiểm tra xem trong ma trận đó có ma trận đơn vị hay không ??

    Nhập ma trận từ bàn phím hoặc từ tập tin thì em làm được rùi,nhưng còn phần kiểm tra ma trận đơn vị thì em pó tay. Suy nghĩ hoài mà chẳng ra được giải thuật nào hết, huhuhu.

    Bác nào biết giải thuật chỉ em với >"<
    nếu có code thì em xin đa tạ nhìu nhìu ạ !! ^^

  2. #2
    Ngày gia nhập
    11 2006
    Nơi ở
    Tiền Giang
    Bài viết
    28

    Nếu mình nhớ không lầm định nghĩa của ma trận đơn vị cấp mxn thì ma trận đơn vị là ma trận có cách phần tử trên đường chéo chính bằng 1 và các phần tử khác đều bằng 0. Bạn thử suy nghĩ theo hướng này thử xem.
    Đã được chỉnh sửa lần cuối bởi huyfeng : 04-04-2008 lúc 10:49 AM.

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    1

    Cái này chỉ hai dòng for là ra thôi. một dòng chạy theo cột từ trên xuống cong dòng for kia duyệt từng phần tử của hàng, nếu như phần tử đường chéo chính bằng 1 và các giá trị khác của dòng bằng ko thì ok ,ngược lại thì nó không phải là ma trận đơn vị. bạn xem lại giá trị trên đường chéo chính là gì ma bỏ vô dòng for là xong. ok

  4. #4
    Ngày gia nhập
    12 2007
    Bài viết
    6

    Như bác huyfeng và bác BeanBean nói thì chỉ là những ma trận đơn giản thui, khi đó thì các cột của ma trận đơn vị đã nằm đúng thứ tự rùi thì mới xét đường chéo chính được. Còn như ma trận dưới đây thì sao nào

    9 6 0 2 3 1 5 0
    4 3 1 0 8 0 1 0
    7 6 0 4 6 0 2 1

    Đây là ma trận cấp 3x8 và trong đó có chứa ma trận đơn vị theo thứ tự

    cột
    5 2 7 (tính từ cột 0)
    | | |
    1 0 0
    0 1 0
    0 0 1
    Đã được chỉnh sửa lần cuối bởi stormswt : 04-04-2008 lúc 08:30 PM.

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    78

    Cho I 3*3 là ma trận đơn vị cấp 3*3 thì I là:
    1 0 0
    0 1 0
    0 0 1


    Try this!!!
    C Code:
    1. int laMatranDonVi(int A[10][10], int n)
    2. {
    3.     int isOK = 0;
    4.     for(int i=0;i<n;i++)
    5.     {
    6.         for(int j=0;j<n;j++)
    7.         {
    8.             if (i == j)  //Xet phan tu thioc duong cheo chinh
    9.             {
    10.                 if (A[i][j] == 1) //Neu = 1 OK
    11.                 {
    12.                     isOK = 1;
    13.                 }
    14.                 else // Neu khac 1 thi Not OK, thoat ra lien
    15.                 {
    16.                     isOK = 0;
    17.                     break;
    18.                 }
    19.             }
    20.             else //Xet cac phan tu ko thuoc duong cheo chinh
    21.             {
    22.                 if (A[i][j] == 0) // =0 thi OK
    23.                 {
    24.                     isOK = 1;
    25.                 }
    26.                 else // khac 0 thi Not OK, thoat ra lien;
    27.                 {
    28.                     isOK = 0;
    29.                     break;
    30.                 }
    31.             }
    32.         }
    33.     }
    34.     return(isOK);
    35. }
    No way, No success..

  6. #6
    Ngày gia nhập
    01 2008
    Bài viết
    41

    Mặc định Kiểm tra trong 1 ma trận có ma trận đơn vị hay không ???

    Trích dẫn Nguyên bản được gửi bởi hacker_mubaohiem Xem bài viết
    Cho I 3*3 là ma trận đơn vị cấp 3*3 thì I là:
    1 0 0
    0 1 0
    0 0 1


    Try this!!!
    C Code:
    1. int laMatranDonVi(int A[10][10], int n)
    2. {
    3.     int isOK = 0;
    4.     for(int i=0;i<n;i++)
    5.     {
    6.         for(int j=0;j<n;j++)
    7.         {
    8.             if (i == j)  //Xet phan tu thioc duong cheo chinh
    9.             {
    10.                 if (A[i][j] == 1) //Neu = 1 OK
    11.                 {
    12.                     isOK = 1;
    13.                 }
    14.                 else // Neu khac 1 thi Not OK, thoat ra lien
    15.                 {
    16.                     isOK = 0;
    17.                     break;
    18.                 }
    19.             }
    20.             else //Xet cac phan tu ko thuoc duong cheo chinh
    21.             {
    22.                 if (A[i][j] == 0) // =0 thi OK
    23.                 {
    24.                     isOK = 1;
    25.                 }
    26.                 else // khac 0 thi Not OK, thoat ra lien;
    27.                 {
    28.                     isOK = 0;
    29.                     break;
    30.                 }
    31.             }
    32.         }
    33.     }
    34.     return(isOK);
    35. }
    tớ nghĩ cậu hiểu sai đề bài rồi đấy
    @storm: bài này đúng là kô quá đơn giản để ngồi cái là code đc luôn, nếu xôi thịt xét hết ra, mỗi lần tìm đc 1 cột dạng đơn vị thì nhớ vị trí số 1 ở cột đó lại và đếm, và sẽ đếm cho đến khi đủ ma trận đơn vị-> thế nào cũng ra nhưng nó ngu ngốc quá. Để tớ thử nghĩ xem có giải thuật nào kô.

  7. #7
    Ngày gia nhập
    03 2008
    Bài viết
    78

    Trích dẫn Nguyên bản được gửi bởi huybka
    tớ nghĩ cậu hiểu sai đề bài rồi đấy
    - Cậu stormswt chỉ cần làm một hàm kiểm tra ma trận đơn vị thôi mà!

    Nhập ma trận từ bàn phím hoặc từ tập tin thì em làm được rùi,nhưng còn phần kiểm tra ma trận đơn vị thì em pó tay. Suy nghĩ hoài mà chẳng ra được giải thuật nào hết, huhuhu.
    No way, No success..

  8. #8
    Ngày gia nhập
    01 2008
    Bài viết
    41

    Cậu tập thói quen đọc kĩ từ đầu đến cuối đi
    cần kiểm tra xem trong ma trận đó có ma trận đơn vị hay không ??

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    78

    Trích dẫn Nguyên bản được gửi bởi huybka
    Cậu tập thói quen đọc kĩ từ đầu đến cuối đi
    - Cậu nên đọc kĩ từ cuối đến đầu thì đúng hơn đó...!tại zì đó là đề bài của sách in ra như vậy...Còn cậu ta chỉ cần code dùm cho cậu ta cái hàm kiểm tra ma trận đơn vị đó thôi...Code hết mắc công cậu ta tự ái với lại tui cũng ko có thời jan nữa.Đúng ko? Sai chỗ nào...

    - Với lại tui đã code "ko ít thì nhiều" rồi...với lại cậu có code dùm cho người ta cái nào đâu mà sao cứ "me" tui ấy nhỉ?Nếu phản biện thì cậu cứ code nguyên bài đem lên cho tụi tớ nhấm nháp xem sao?
    No way, No success..

  10. #10
    Ngày gia nhập
    11 2006
    Nơi ở
    Tiền Giang
    Bài viết
    28

    Như bác huyfeng và bác BeanBean nói thì chỉ là những ma trận đơn giản thui, khi đó thì các cột của ma trận đơn vị đã nằm đúng thứ tự rùi thì mới xét đường chéo chính được. Còn như ma trận dưới đây thì sao nào

    9 6 0 2 3 1 5 0
    4 3 1 0 8 0 1 0
    7 6 0 4 6 0 2 1

    Đây là ma trận cấp 3x8 và trong đó có chứa ma trận đơn vị theo thứ tự

    cột
    5 2 7 (tính từ cột 0)
    | | |
    1 0 0
    0 1 0
    0 0 1
    @stormswt : tớ hem biết cậu viết đề có sai hông, chứ cậu ghi đề như thế mà cho ra ma trận đơn vị từ cột thứ 5 --> 7 mới ghê. Ngay chỗ mình đánh dấu đỏ á !

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

  1. [Hỏi] Cách nhân 2 ma trận với các phần tử của ma trận đợc để trong mảng 1 chiều.
    Gửi bởi code_c trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 23-09-2012, 10:24 PM
  2. Viết hàm con trả về nhiều giá trị trong ma trận?
    Gửi bởi tuan_uct trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 03-05-2011, 11:11 AM
  3. Biến trả lấy giá trị trả về trong Stored Procedure
    Gửi bởi iamonlining trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 6
    Bài viết cuối: 16-12-2009, 05:24 PM

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