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

Đề tài: cấp phát bộ nhớ động cho mảng 2 chiều trên C như thế nào?

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

    Mặc định cấp phát bộ nhớ động cho mảng 2 chiều trên C như thế nào?

    Em viết một hàm cấp phát bộ nhớ cho mảng 2 chiều thế này, kô hiểu tại sao cứ báo lỗi:

    C Code:
    1. void taomang(int ** a, int m, int n){
    2.      a=new int * [m];
    3.      for (int i=0;i<m;i++){      
    4.          a[i] = new int [n];
    5.             for (int j=0;j<n;j++){
    6.              printf("Nhap [%d][%d]: ",i,j);          
    7.              //scanf("%d",&a[i][j]);                                  
    8.              }
    9.          }
    10.      }
    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 2007
    Bài viết
    2

    Cuối cùng thì cũng mò ra rồi


    C Code:
    1. void taomang(int**& a,int& m, int& n){
    2. printf("Nhap so dong m: ");
    3. scanf("%d",&m);
    4. printf("Nhap so cot n: ");
    5. scanf("%d",&n);    
    6.    
    7. a = new int* [m];
    8.  
    9.   for (int i=0;i<m;i++){
    10.         a[i]=new int [n];
    11.         for (int j=0;j<n;j++){
    12.             printf("Nhap [%d][%d]: ",i,j);
    13.             scanf("%d",&a[i][j]);
    14.                              }
    15.                        }
    16. }

  3. #3
    Ngày gia nhập
    12 2009
    Nơi ở
    Tp. Hồ Chí Minh
    Bài viết
    64

    C Code:
    1. void taomang(int ** a, int m, int n){
    2.      a=new int * [m];
    3.      for (int i=0;i<m;i++){      
    4.          a[i] = new int [n];
    5.             for (int j=0;j<n;j++){
    6.              printf("Nhap [%d][%d]: ",i,j);          
    7.              //scanf("%d",&a[i][j]);                                  
    8.              }
    9.          }
    10.      }
    Bạn sai chỗ này:
    C Code:
    1. for (int j = 0; j < n; j++) {
    2.     printf("Nhap [%d][%d]: ",i,j);
    3.     //scanf("%d",&a[i][j]);
    4. }
    Mới chỉ 1 vòng for của j thôi bạn ah.
    Bạn cần có 1 vòng for cho i nữa chứ!
    Hãy quyết định và đấu tranh
    Để hạnh phúc và hi vọng!
    --------Thiên Điệp --> http://khmt.lifeme.net

  4. #4
    Ngày gia nhập
    03 2012
    Bài viết
    2

    mình nghĩ là trong c mảng 2 chiều thì làm gì &a[i][j] được, trong c++ mơi làm được, phải gán trung gian trước &t, sau đó thì a[i][j]=t chứ nhỉ
    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. Lập trình C Đề tài: mảng và các thao tác trên mảng 2 chiều: tìm kiếm.........
    Gửi bởi quanvovan trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 15-11-2012, 11:13 PM
  2. Chia m phần thưởng cho n người trên C++ như thế nào?
    Gửi bởi doc_bo_hanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 12-10-2010, 09:18 PM
  3. Tính a mũ n bằng phương pháp chia để trị trên C như thế nào?
    Gửi bởi nhatnha 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: 08-08-2010, 08:04 PM
  4. Các thao tác trên Đa thức | Cộng trừ nhân chia da thức
    Gửi bởi PoPoPoPo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 28-03-2010, 10:09 PM
  5. Thao tác trên mảng 2 chiều bằng con trỏ
    Gửi bởi hacker_mubaohiem trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 03-04-2008, 07:06 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