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

Đề tài: Nhập vào một ma trận vuông và kiểm tra xem nó có đối xứng qua đường chéo chính không?sao code không chạy???

  1. #1
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội
    Bài viết
    3

    Smile Nhập vào một ma trận vuông và kiểm tra xem nó có đối xứng qua đường chéo chính không?sao code không chạy???

    #include <stdio.h>
    #include <conio.h>
    void main()
    {
    int a[50][50], m, n, i, j, tg;
    do{
    printf("nhap so hang vao so cot cua ma tran: ");
    scanf("%d%d",&m, &n);
    }while (m>50 || m<=0 ||n>50 || n<=0 || m!=n);
    for (i=0; i<m; i++)
    for (j=0; j<n; j++)
    {
    printf("a[%d]=", i+1, j+1);
    scanf("%d", &tg);
    a[i][j]=tg;
    }
    if (a[i][j] == a[j][i] ) printf("Ma tran doi xung qua duong cheo chinh");
    else if("Ma tran khong doi xung qua duong cheo chinh");
    getch();
    }

  2. #2
    Ngày gia nhập
    03 2011
    Nơi ở
    Bình Dương, Hồ Chí Minh
    Bài viết
    392

    Trích dẫn Nguyên bản được gửi bởi nguyendinhha Xem bài viết
    #include <stdio.h>
    Code:
    #include <conio.h>
    void main()
    {
    int a[50][50], m, n, i, j, tg;
    do{
    printf("nhap so hang vao so cot cua ma tran: ");
    scanf("%d%d",&m, &n);
    }while (m>50 || m<=0 ||n>50 || n<=0 || m!=n);
    for (i=0; i<m; i++)
      for (j=0; j<n; j++)
    {
    printf("a[%d]=", i+1, j+1);
    scanf("%d", &tg);
    a[i][j]=tg;
    }
    if (a[i][j] == a[j][i] ) printf("Ma tran doi xung qua duong cheo chinh");
    else if("Ma tran khong doi xung qua duong cheo chinh");
    getch();
    }
    Code của bạn vẫn chạy mà...Bạn nhập số mấy mà không chạy!
    .....chỉ có điều ra không đúng thôi
    Còn nếu đã là ma trận vuông rồi thì bạn chỉ cần nhập một trong 2: hoặc là số dòng hoặc là số cột là được rồi. nhập 2 cái chi rồi phải kiểm tra coi nó có giống nhau không(m!=n)!!!
    Code của bạn luôn cho ra Ma trận vuông vì sau khi chạy xong vòng for thì chỉ số i và j đều bằng nhau
    =>i=j =>a[i][j]<=>a[j][i]

    Còn chổ: printf("a[%d]=", i+1, j+1); => sau chỉ có 1 cái %d!!!

  3. #3
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội
    Bài viết
    3

    cam on ban nhe.minh xem lai phan mem no bi loi thu vien

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Lỗi thư viện?

    Người ta đã cho biết code sai rồi. Code viết cẩu thả quá mức.

    Code:
    for (i=0; i<m; i++)
      for (j=0; j<n; j++)
      {
        printf("a[%d]=", i+1, j+1); chỉ in ra i và bỏ sót j
        scanf("%d", &tg);
        a[i][j]=tg;
      }
    if (a[i][j] == a[j][i] ) printf("Ma tran doi xung qua duong cheo chinh"); code này chỉ xét phần tử cuối cùng ma trận
    else if("Ma tran khong doi xung qua duong cheo chinh"); if cái gì vậy? viết ẩu!!!
    muốn xét tất cả mọi phần tử thì phải xét trong vòng lặp. Nếu không xét lúc nhập thì phải làm vòng lặp khác.

    tb. có mâu thuẫn không? đề bài nói là ma trận vuông mà còn m, n gì nữa!
    !

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

  1. Làm sao khắc phục tình trạng viết code chỉ để chạy được?
    Gửi bởi xOkyox trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 12
    Bài viết cuối: 07-12-2012, 11:22 PM
  2. Code đếm khoảng trắng chạy lỗi kiểm tra không ra đúng kết quả?
    Gửi bởi higushima trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 27-11-2011, 08:15 PM
  3. Đoạn code tìm hàng có tổng max trong ma trận chạy không đúng, sửa thế nào??
    Gửi bởi zodjac1990 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 23-07-2011, 12:35 AM
  4. code tìm cây có trọng lượng nhỏ nhất bằng giải thuật prim-cách chạy tay code này
    Gửi bởi ruacon_206 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 25-04-2011, 02:27 PM
  5. Bài tập C++ code tính cực đại, cực tiểu trong ma trận. sai chỗ nào mà không chạy được
    Gửi bởi bobobo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 31-10-2010, 02:26 PM

Tags của đề tài này

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