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

Đề tài: Ma trận hoán vị

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

    Arrow Ma trận hoán vị

    giúp em sửa code này :
    Code:
    # include <conio.h>
    main()
    {  int A[100][100],B[100][100];
       int n,i,m,j;
       clrscr();
       printf ("\n nhap hang m:");
       scanf ("%d",&m);
       printf ("\n nhap cot n:");
       scanf ("%d",&n);
       for (i=1;i<=m;i++)
       for (j=1;j<=n;j++)
       { printf ("\n nhap A[%d][%d]",i,j);
         scanf ("%d",&A[i][j]);
       }
       for (i=1;i<=m;i++)
      { for (j=1;j<=n;j++)
        printf (" %d",A[i][j]);
        printf ("\n");
      }
      for (i=1;i<=m;i++)
     { for (j=1;j<=n;j++)
       B[j][i]=A[i][j];
     }
      for (i=1;i<=n;i++)
     { for (j=1;j<=m;j++)
      printf ("%d",B[j][i]);
      printf ("\n ");
      }
       getch();
       }
    em ko in ra ma trân B .giúp em tìm lỗi sai . thank

    Lưu ý: Cho code vào tag code. Đọc Nội quy để biết thêm chi tiết.
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 14-01-2008 lúc 10:47 PM. Lý do: Nhắc nhở

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

    Code:
    #include <conio.h>
    #include <stdio.h>
    
    main(){
    	int A[100][100],B[100][100];
    	int n,i,m,j;
    
    	printf ("\n nhap so hang m:= ");
    	scanf ("%d",&m);
    	printf ("\n nhap so cot n:= ");
    	scanf ("%d",&n);
    	for (i=1;i<=m;i++)
    		for (j=1;j<=n;j++){ 
    			printf ("\n nhap A[%d][%d]:= ",i,j);
    			scanf ("%d",&A[i][j]);
    		}
    
    	for (i=1;i<=m;i++){
    		for (j=1;j<=n;j++)
    			printf (" %d",A[i][j]);
    			printf ("\n");
    		}
    		
    	for (i=1;i<=m;i++)
    		for (j=1;j<=n;j++)
    			B[j][i]=A[i][j];
    
    	for (i=1;i<=n;i++){ 
    		for (j=1;j<=m;j++)
    			printf (" %d",B[i][j]);
    			printf ("\n");
    	}
    getch();
    }
    Bạn chạy thử xem

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

    Code:
    for (i=1;i<=n;i++)
    { for (j=1;j<=m;j++)
    printf ("%d",B[j][i]);
    printf ("\n ");
    }
    Bạn nhầm chỗ này một tí i:1->n và j:1->m thì phải in là B[i][j] như metal_shield đã làm đó.
    //Mình có chỗ này chưa hiểu: sao bạn không dùng i:0-> m-1 và j:0-> n-1 nhỉ?

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

    mình cám ơn mọi người chỉ bảo . cho mình hỏi tại sao lại khi in ra ma tran B thi dùng B[i][j] mà ko dùng B[j][i]

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

    mình cám ơn mọi người chỉ bảo . cho mình hỏi tại sao lại khi in ra ma tran B thi dùng B[i][j] mà ko dùng B[j][i]
    Chắc bạn vẫn chưa xem lại chương trình phải không?
    Bạn xem lại khoảng chạy của i và j là hiểu thôi. Nếu không thì debug chương trình để kiểm tra.

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

    Mặc định Ma trận hoán vị

    mình cám ơn nhé .

  7. #7
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi thangit Xem bài viết
    for (i=1;i<=m;i++)
    { for (j=1;j<=n;j++)
    B[j][i]=A[i][j];
    }
    [/COLOR][/B]
    Chỗ này là coppy matrix chứ đâu có phải là hoán vị?
    Bạn có thể tham khảo thêm bài vector của rox_rock để sử dụng vector cho linh hoạt và hay hơn là khai báo a[100][100], b[100][100];-> 10.000 phần tử mà bạn thì chắc không có dùng hết nó ( trừ khi tạo random).
    Chỉ là một chút góp ý thôi.
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

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