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 2 trên tổng số 2 kết quả

Đề tài: Mảng 2 chiều

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

    Mặc định Mảng 2 chiều

    Có 1 bài như thế này:
    Nhập vào ma trận vuông có kích thước = 5. Sắp xếp chuổi và kết xuất ra theo chiều xoắn ốc. Ví dụ:
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9
    Vấn đề sắp xếp thì khá đơn giản, còn kết xuất ra như thế thì em potay. Xin các pác giúp dùm
    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ý.
    Đã được chỉnh sửa lần cuối bởi 3rr0r : 10-10-2007 lúc 08:25 PM.
    Nếu 1 mai anh thuộc về người khác
    Em mỉm cười 1 lít axit đủ không anh

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

    Cần code hả, có ngay
    Tự suy nghĩ nhé ^^
    Code:
    #include <iostream>
    #include <iomanip>
    #include <cstdlib>
    #define maxx 25
    using namespace std;
    int main(){
        srand(time(0));
        int b[maxx*maxx],a[maxx][maxx],i,j,n = 11; 
        for (i = 0;i < n*n;++i) b[i] = rand()%100;
        int temp;
        for (i = 0;i < n*n-1;++i)
            for (j = i+1;j < n*n;++j)
                if (b[i] > b[j]){
                    temp = b[i];
                    b[i] = b[j];
                    b[j] = temp;
                }
        cout <<"Ma tran duoc tao ngau nhien va sap xep:";
        for (i = 0;i < n*n;++i){
            if ((i%n)==0) cout <<endl;
            cout <<setw(4) <<b[i];
        }
        //Chuyen thanh ma tran xoan oc
        int tl = -1,rb = n,mark = 0,e;
        for (i = 0;i < n/2;++i){
            tl++; rb--;
            for (e = tl;e < rb;) a[tl][e++] = b[mark++];
            for (e = tl;e < rb;) a[e++][rb] = b[mark++];
            for (e = rb;e > tl;) a[rb][e--] = b[mark++]; 
            for (e = rb;e > tl;) a[e--][tl] = b[mark++];
        }
        cout <<"\nMa tran xoan oc:\n";
        for (i = 0;i < n;++i){
            for (j = 0;j < n;++j) cout <<setw(4) <<a[i][j];
            cout <<endl;
        }
        system("pause");
    }
    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ý.

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

  1. Trả lời: 2
    Bài viết cuối: 21-04-2013, 09:46 AM
  2. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  3. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  4. Cách truyền mang 1 chiều cho hàm bài con trỏ và mảng một chiều ai có thể giải thích giúp mình
    Gửi bởi biencute trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 21-03-2012, 09:00 AM
  5. Lời giải bài tập: Chuỗi Ký tự, mảng số nguyên 1 chiều, mảng 2 chiều, tạo Menu
    Gửi bởi xuanngoc trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 15-10-2011, 01:17 AM

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