Announcement

Collapse
No announcement yet.

bài tập mảng 2 chiều chưa biết cách làm

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 15520197
    replied
    Đối với sắp xếp tăng dần theo chiều xoắn ốc, hay là tạo mảng theo chiều xoắn ốc thì bạn cũng làm như này.
    Bạn cứ nhét những phần tử tăng dần từ vòng ngoài, sau đó thu hẹp không gian xoắn ốc lại.

    [I]#include <stdio.h>
    #include <iostream>
    using namespace std;
    int main(){
    int N, M, K=0;
    cin>>N>>M;
    int **a; // khai báo con trỏ cấp 2
    //--------- cấp phát bộ nhớ cho mảng 2 chiều
    a=new int*[N+1];
    for (int i=1; i<=N; i++){
    a[i]=new int[M+1];
    }
    //----------- xử lí xoắn ốc
    int d1=1, c1=N, d2=1, c2=M;
    while (d1<=c1){
    for (int i=d2; i<=c2; i++){
    K++; a[d1][i]=K;
    }
    if (K==N*M) break;
    for (int i=d1+1; i<=c1; i++){
    K++; a[i][c2]=K;
    }
    if (K==N*M) break;
    for (int i=c2-1; i>=d2; i--){
    K++; a[c1][i]=K;
    }
    if (K==N*M) break;
    for (int i=c1-1; i>d1; i--){
    K++; a[i][d1]=K;
    }
    if (K==N*M) break;
    d1++; c1--; d2++; c2--;
    }
    //--------------------------------
    for (int i=1; i<=N; i++){
    for (int j=1; j<=M; j++)
    printf("%4d", a[i][j]);
    printf("\n");
    }
    //------------- Giải phóng bộ nhớ
    for (int i=1; i<=N; i++)
    delete []a;
    return 0;
    }

    Leave a comment:


  • 14520769
    replied
    suy nghĩ đi, mình cũng làm lâu kha khá

    Leave a comment:


  • 14520769
    replied
    thím hả -_-

    Leave a comment:


  • rainbow007
    replied
    Originally posted by 14520769 View Post
    mình còn giữ code bài 2 mà không biết có nên đưa thẳng z không
    thím up cho e xem với ^_^ đa tạ thím nhiều lắm :salute::salute::salute:

    Leave a comment:


  • 14520769
    replied
    mình còn giữ code bài 2 mà không biết có nên đưa thẳng z không

    Leave a comment:


  • 12520965
    replied
    Câu 1 bạn có thể search google: sort two dimensional array c++

    Leave a comment:


  • bài tập mảng 2 chiều chưa biết cách làm

    Bai 1 : Sắp xếp ma trận tăng dần từ trái qua phải và từ trên xuống dưới.
    Bài 2: Tạo ma trận vuông xoắn ốc.

    Nhờ các anh chị đi trước chỉ giúp em với ạ à e chưa học hàm con nha m.n ^_^ hì :3 mong ace giúp đỡ viết theo C++ hoặc cho e cái code thuật toán với ạ . tks mọi người

LHQC

Collapse
Working...
X