Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Mảng xoay vòng trong C++

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

    Mặc định Mảng xoay vòng trong C++

    Thực hiện dịch chuyển các phần tử của ma trận chữ nhật (m*n) N lần sang phải hoặc xuống dưới(theo lựa chọn chế độ của người dùng), N có thể lớn hơn số hàng hoặc số cột.

    - - - Nội dung đã được cập nhật ngày 29-11-2016 lúc 12:59 AM - - -

    Các pro giúp e với.:(
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    N = N mod ... nếu N>0.

    Giờ bạn thử xoay mảng 1 chiều xem có đc ko đã, xoay đc rồi thì mới làm đc bài này

  3. #3
    Ngày gia nhập
    11 2016
    Bài viết
    9

    Thank bro nhé, e đã xử lý xong Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Mang xoay.png
Lần xem:	13
Size:		16.3 KB
ID:		50778

  4. #4
    Ngày gia nhập
    09 2016
    Bài viết
    1,009

    Góp ý:
    - Có thể người khác chưa biết, cũng như bạn lúc hỏi.
    - Sao bạn không chia sẻ ? Đó chính là đóng góp.

    Khi hỏi nên trình bày sao cho người khác dễ hình dung, ví dụ input a, b ==> output x, y.
    Họ không phải bạn, họ không có các thông tin bạn đang có.

    Hình (pic) bị zoom - in (thu nhỏ), chỉ nên dùng minh hoạ thêm cho text
    Đã được chỉnh sửa lần cuối bởi fms17 : 30-11-2016 lúc 07:33 PM.

  5. #5
    Ngày gia nhập
    11 2016
    Bài viết
    9

    Thank bro đã nhắc nhở.

    - - - Nội dung đã được cập nhật ngày 02-12-2016 lúc 05:27 AM - - -

    Góc chia sẻ.
    Code:
    #include <iostream>
    using namespace std;
    
    void nhap(float *p, int m, int n){
    	for(int i=0; i<m; i++){
    		for(int j=0; j<n; j++){
                cout << "a[" << i << "," << j << "] = " ;
    	        cin >> *(p+i*n+j);
    		}
    	}
    }
    
    
    // Truoc khi xoay 
    
    void start(float *p, int m, int n){
    	cout << " Mang truoc khi xoay la: " << endl;
    	for (int i=0; i<m; i++){ 
    		for (int j=0; j<n; j++){
    			if(j==0){
    				cout << endl;
    			}
    			cout << *(p+i*n+j) << "   ";
    		}
    	}
    	cout << endl;
    }
    
    void right( float *p, int m, int n, int k){
    	cout << " Mang xoay sang ben phai la : " << endl;
    	for (int i=0; i<m; i++){ 
    		for ( int j=n-k; j<n;j++){
    			cout << *(p+i*n+j) << "   ";
    		}
    		for (int j = 0; j< n-k; j++)
    			cout << *(p+i*n+j) << "   ";
    		cout << endl;
    	}
    }
    
    void below(float *p, int m, int n, int k){
    	cout << " Mang xoay xuong duoi: " << endl;
    	for (int i=m-k; i <m; i++ ){
    		for(int j=0; j<n;j++)
    			cout << *(p+i*n+j) << "   ";
    	    cout << endl;
    		}
    	for (int i=0; i<m-k;i++){
    		for( int j=0; j<n;j++)
    			cout << *(p+i*n+j) << "   ";
    	    cout << endl;
    	}
    }
    
    int main(){
        float a[10][10],*p;
    	p=(float*)a;
        int m,n;
    	cout << "a[m][n] = " ;
    	cin >> m >> n;
    	nhap(p,m,n);
    	start(p,m,n);
    	int N;
    	cout << " N = ";
    	cin >>N;
    	int k;
    	k=N%n;
    	int lc;
    	do{
    		cout << "\n___MENU___\n0_Exit\n1_Right.\n2_Below.";
    		cout << " \nYou choose: ";
    		cin >> lc;
    		cout << endl;
    		switch(lc){
    		    case 0:{
    				break;
    				   }
    			case 1:{
    				right(p,m,n,k);
    				break;
    				   }
    			case 2:{
    				below(p,m,n,k);
    				break;
    				   }
    		}
    	} while(lc);
    	return 0;
    }

  6. #6
    Ngày gia nhập
    09 2016
    Bài viết
    1,009

    Mặc định Mảng xoay vòng trong C++

    Trích dẫn Nguyên bản được gửi bởi star97 Xem bài viết
    ...

    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. void nhap(float *p, int m, int n){
    5.     for(int i=0; i<m; i++){
    6.         for(int j=0; j<n; j++){
    7.             cout << "a[" << i << "," << j << "] = " ;
    8.             cin >> *(p+i*n+j);
    9.         }
    10.     }
    11. }
    12. ...
    Nên viết sao để không cần đọc code vẫn hình dung được khi test, nhập dữ liệu
    C Code:
    1.     float a[10][10],*p;
    2.     p=(float*)a;
    3.     int m,n;
    4.     //cout << "a[m][n] = " ;
    5.     //cin >> m >> n;
    6.     cout << "Matix [m][n] ? " ;
    7.     cout << "m = "; cin >> m;
    8.     cout << "n = "; cin >> n;

    nhắc người dùng - nhập cái gì trên cùng một dòng, ...

    Phọt mô xa 2016
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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