Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Hỏi lỗi hàm kiểm tra ma trận đối xứng

  1. #1
    Ngày gia nhập
    11 2012
    Bài viết
    1

    Mặc định Hỏi lỗi hàm kiểm tra ma trận đối xứng

    Cho em hỏi hàm này sai chỗ nào mà khi chạy nó không đúng. đê là kiểm tra đối xứng
    Code:
    void kiemtradoixung(int a[][10],int n,int m)
      {
      int i,j;
      int flag=0;
      for(i=0;i<n;i++)
          for(j=0;j<m;j++)
              {
              if(a[i][j]=a[j][i])
                  flag=1;break;
              }
      if(flag==1)
          printf("\nma tran DOI XUNG\n");
      else
          printf("\nKhong DOI XUNG\n");
      }
    em cảm ơn nhiều lắm

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

    up ai chỉ dùm em lỗi ở chỗ nào với

  3. #3
    Ngày gia nhập
    02 2010
    Bài viết
    113

    Trích dẫn Nguyên bản được gửi bởi taphoc_c Xem bài viết
    Cho em hỏi hàm này sai chỗ nào mà khi chạy nó không đúng. đê là kiểm tra đối xứng
    Code:
    void kiemtradoixung(int a[][10],int n,int m)
      {
      int i,j;
      int flag=0;
      for(i=0;i<n;i++)
          for(j=0;j<m;j++)
              {
              if(a[i][j]=a[j][i])
                  flag=1;break;
              }
      if(flag==1)
          printf("\nma tran DOI XUNG\n");
      else
          printf("\nKhong DOI XUNG\n");
      }
    em cảm ơn nhiều lắm
    cho cái vd về ma trận đối xứng cái nào...!!!

  4. #4
    Ngày gia nhập
    11 2012
    Bài viết
    136

    Trích dẫn Nguyên bản được gửi bởi taphoc_c Xem bài viết
    up ai chỉ dùm em lỗi ở chỗ nào với
    Đã là ma trận đối xứng qua đường chéo chính chỉ xét ma trận vuông mà thôi, bạn cho thêm chỉ số m n làm gì, nhập n m khác nhau chả bao giờ đối xứng. Mà bạn viết hàm đừng nên có cho input output vào làm gì về sau muốn dùng lại cũng không được, như vậy viết hàm main luôn cho nhanh đỡ phải tốn bộ nhớ cho việc lưu trữ hàm, làm luôn lập trình tuyến tính.
    @utkunglt anh không on face hả anh .
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

  5. #5
    Ngày gia nhập
    02 2010
    Bài viết
    113

    Trích dẫn Nguyên bản được gửi bởi kimcy1992 Xem bài viết
    Đã là ma trận đối xứng qua đường chéo chính chỉ xét ma trận vuông mà thôi, bạn cho thêm chỉ số m n làm gì, nhập n m khác nhau chả bao giờ đối xứng. Mà bạn viết hàm đừng nên có cho input output vào làm gì về sau muốn dùng lại cũng không được, như vậy viết hàm main luôn cho nhanh đỡ phải tốn bộ nhớ cho việc lưu trữ hàm, làm luôn lập trình tuyến tính.
    @utkunglt anh không on face hả anh .
    thì cái mà anh hỏi là cái ví dụ của bạn ấy đó...không bít là đối xứng qua đường chéo chính hay chéo phụ...nói chung chung quá...
    @kimcy1992: có chứ sao hok em...!!!

  6. #6
    Ngày gia nhập
    01 2013
    Nơi ở
    Học viện Kỹ thuật Quân Sự
    Bài viết
    247

    Mặc định Hỏi lỗi hàm kiểm tra ma trận đối xứng

    Trích dẫn Nguyên bản được gửi bởi taphoc_c Xem bài viết
    Cho em hỏi hàm này sai chỗ nào mà khi chạy nó không đúng. đê là kiểm tra đối xứng
    Code:
    void kiemtradoixung(int a[][10],int n,int m)
      {
      int i,j;
      int flag=0;
      for(i=0;i<n;i++)
          for(j=0;j<m;j++)
              {
              if(a[i][j]=a[j][i])
                  flag=1;break;
              }
      if(flag==1)
          printf("\nma tran DOI XUNG\n");
      else
          printf("\nKhong DOI XUNG\n");
      }
    em cảm ơn nhiều lắm

    Ma trận đối xứng.=> Vậy là ma trận vuông rùi.
    Code của bạn sai ở chỗ:
    if(a[i][j]=a[j][i]) flag=1;break;
    bởi khi gặp 1 cặp bằng nhau. Bạn đã cho Flag = Đồng thời thoát khỏi vòng lặp luôn. Mà không kiểm tra tiếp. Và trong if so sánh thì phải là "==" không phải "=" bạn nhé.

    Hơn nữa. Kiểm tra ma trận đối xứng không cần phải cho j chạy từ 0 đâu. Chỉ cần chạy từ i+1 là OK.

    Code cho bạn đây:
    Code:
    void KTDoiXung(int a[][10], int n)
     {
      int i,j;
      for(i=0; i<n; i++)
          for(j=i+1; j<n; j++)
              if(a[i][j]!=a[j][i])
              {
                  printf("Khong DOI XUNG");
                  return;
              }
          printf("DOI XUNG");
    }
    Nếu cần giúp đỡ, hỗ trợ:
    Bài Tập. Đồ Án. Tools. Phần mềm. Liên hệ:
    Facebook: http://www.facebook.com/thuecodedoan
    Website: https://thuecodedoan.wordpress.com
    Email: thuecodedoan@gmail.com
    Sđt: 094.76.76.854

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

  1. Trao đổi liên kết, trao doi logo, Text Link với các webforumblog (free)
    Gửi bởi nguyenlam14990 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 31
    Bài viết cuối: 13-03-2012, 11:53 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