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

Đề tài: Cho e hỏi về Cấp Phát Động và giải phóng bộ nhớ

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

    Mặc định Cho e hỏi về Cấp Phát Động và giải phóng bộ nhớ

    Đoạn code :
    C++ Code:
    1. // SapxepArrTimVitriX.cpp : Defines the entry point for the console application.
    2. //
    3.  
    4. #include "stdafx.h"
    5. #include "iostream.h"
    6. #include "string.h"
    7. #include "stdlib.h"
    8. //////////////////////////////////////////
    9. void NhapMang(int **A,int d,int c)
    10. {
    11.     for(int i=0;i<d;i++)
    12.         for(int j=0;j<c;j++)
    13.         {
    14.             cout<<"Nhap A["<<i<<"]"<<"["<<j<<"]"<<"\t";
    15.             cin>>A[i][j];
    16.         }
    17. }
    18. //////////////////////////////////////////
    19. void XuatMang(int **A,int d,int c)
    20. {
    21.     for(int i=0;i<d;i++)
    22.     {
    23.         for(int j=0;j<c;j++)
    24.             cout<<A[i][j]<<"\t";
    25.         cout<<endl;
    26.     }
    27. }
    28. //////////////////////////////////////////
    29. void Hoandoi(int &a,int &b)
    30. {
    31.     int hd=a;
    32.     a=b;
    33.     b=hd;
    34. }
    35. //////////////////////////////////////////
    36. void SapXep(int **A,int d,int c)
    37. {
    38.     for(int i=0;i<d*c-1;i++)
    39.         for(int j=i+1;j<d*c;j++)
    40.             if(A[i/c][i%c]>A[j/c][j%c])
    41.                 Hoandoi(A[i/c][i%c],A[j/c][j%c]);
    42. }
    43. //////////////////////////////////////////
    44. void TimX(int **A,int d,int c,int x)
    45. {
    46.     for(int i=0;i<d*c;i++)
    47.         if(A[i/c][i%c]==x)
    48.             cout<<"Gia tri x o dong : "<<i/c<<"\t"<<"cot : "<<i%c<<endl;
    49. }
    50.  
    51. //////////////////////////////////////////
    52. void main()
    53. {
    54.     int **A,d,c,x;
    55.     cout<<"Nhap so dong : ";
    56.     cin>>d;
    57.     cout<<"Nhap so cot : ";
    58.     cin>>c;
    59.     A=new int *[d];
    60.     for(int i=0;i<d;i++)
    61.         A[i]=new int [c];
    62.     NhapMang(A,d,c);
    63.     cout<<"Mang vua nhap la :\n";
    64.     XuatMang(A,d,c);
    65.     SapXep(A,d,c);
    66.     cout<<"Mang sau khi sap xep la :"<<endl;
    67.     XuatMang(A,d,c);
    68.     cout<<"Nhap x : ";
    69.     cin>>x;
    70.     TimX(A,d,c,x);
    71.     for(i=0;i<d;i++) delete[] A[i];
    72.     delete[] A;
    73. }

    E không hiểu ý nghĩa về việc cấp phát trong bài này, thấy ông thầy làm vậy ....nên cũng làm vậy. Mấy a giải thích giùm e nha, Thanks !

    Lưu ý : Bỏ code vào thẻ code
    Đã được chỉnh sửa lần cuối bởi Tab : 11-10-2008 lúc 07:51 AM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Đây là mảng 2 chiều, thực chất là mảng 1 chiều chứa các con trỏ, mỗi con trỏ lại trỏ đến mảng một chiều chứa các số kiểu int.

    C++ Code:
    1. A=new int *[d]; // Cấp phát mảng con trỏ kiểu int
    2. for(int i=0;i<d;i++)
    3.    A[i]=new int [c]; // cấp phát vùng nhớ cho từng con trỏ
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Mô hình cấp phát có thể được mô tả như sau :

    Cấp phát thì nhớ thu hồi :
    C++ Code:
    1. for(int i = 0;i < d;i ++)
    2.    delete [] A[i];
    3. delete [] A;
    4. A = NULL;
    What you see is never what you get...

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

  1. Trả lời: 1
    Bài viết cuối: 09-03-2014, 08:09 PM
  2. Trả lời: 0
    Bài viết cuối: 07-05-2013, 09:40 AM
  3. Trả lời: 1
    Bài viết cuối: 09-03-2013, 10:08 AM
  4. bán chung cư p3 phương liệt hoàng mai, sắp bàn giao nhà, ch p3 phuong liet giải phóng
    Gửi bởi haiphuong8888 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 03-08-2012, 05:20 PM
  5. Chung Cư 257 Giải Phóng, st/cn Chung Cư 257 Giải Phóng với DT: 81m, 33tr
    Gửi bởi datphat191 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 16-02-2012, 01:37 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