Tài nguyên dạy học

Thành viên trực tuyến

1 khách và 0 thành viên

Hỗ trợ trực tuyến

Điều tra ý kiến

Bạn thấy website của chúng tôi như thế nào?
Đẹp
Bình thường
Đơn điệu
Ý kiến khác

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Ảnh ngẫu nhiên

    Video_13cailuongEnglish.flv Film_6_The_gioi_tu_nhien.flv CAU_TRUC_BAC_1.gif DSCN1679.jpg DSCN2125.jpg Kachiusa____YouTube1.flv TRAI_TIM_NHIEU_NGAN__Nguyen_Vu__YouTube.flv Trieu_doa_hong__Alla_Bugacheva__YouTube.flv IMG_1337.jpg IMG_1331.jpg Doi_b__YouTube.flv IMG01177.jpg FLASH_2011.swf Chom_chom_ly_qua_pha__Danh_hai_Chien_Thang__YouTube.flv Nguoi_thay_nam_xua.mp3 50_ban_thang_dep_nhat_lich_su.flv Toan_61.flv Vet_cham_tren_khuon_mat.flv

    lập trình C++

    Wait
    • Begin_button
    • Prev_button
    • Play_button
    • Stop_button
    • Next_button
    • End_button
    • 0 / 0
    • Loading_status
    Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
    Nhấn vào đây để tải về
    Báo tài liệu có sai sót
    Nhắn tin cho tác giả
    (Tài liệu chưa được thẩm định)
    Nguồn:
    Người gửi: Đặng Anh Tuấn (trang riêng)
    Ngày gửi: 23h:49' 09-09-2010
    Dung lượng: 74.0 KB
    Số lượt tải: 14
    Số lượt thích: 0 người
    Chương 9: Mảng
    Nội dung chính
    Định nghĩa mảng
    Mảng nhiều chiều
    Mảng con trỏ
    Xâu ký tự
    1. Định nghĩa mảng
    Mảng (Array)
    Là một tập các vị trí nhớ liên tiếp nhau
    Các phần tử trong mảng có cùng tên và cùng kiểu.
    Khai báo mảng
    type arrayName[ arraySize ];
    int c[ 10 ]; // mảng c gồm 10 số nguyên
    float d[ 3284 ]; // mảng d gồm 3284 số thực
    Có thể khai báo nhiều mảng cùng kiểu
    int b[ 100 ], x[ 27 ];
    Truy nhập tới phần tử trong mảng
    Xác định thông qua tên mảng và chỉ số: arrayname[ position number ]
    Phần tử đầu tiên ở vị trí thứ 0
    Khởi tạo mảng
    Sử dụng vòng lặp for: gán giá trị cho từng phần tử trong mảng.
    Sử dụng danh sách khởi tạo:
    int n[ 5 ] = { 1, 2, 3, 4, 5 };
    Nếu không đủ giá trị khởi tạo thì những phần tử còn lại sẽ nhận giá trị mặc định.
    Nếu giá trị khởi tạo nhiều hơn kích thước mảng thì sẽ báo lỗi.
    Gán tất cả các phần tử với cùng một giá trị
    int n[ 5 ] = { 0 };
    Nếu kích thước mảng không được khai báo thì danh sách khởi tạo sẽ xác định:
    int n[] = { 1, 2, 3, 4, 5 };
    //Mảng n có 5 phần tử
    Tham số mảng
    Tham số mảng được biểu diễn bởi kiểu dữ liệu và kích thước của mảng
    void display(float [n][m]);
    Hàm có thể không cần biết kích thước của mảng nhưng phải biết kích thước của một phần tử trong mảng
    void myFunction(int n[]);
    void display(float [][m]);
    Khi gọi hàm, ta chỉ cần truyền tên mảng
    int myArray[ 24 ];
    myFunction( myArray);
    Mảng được truyền theo kiểu truyền tham chiếu
    Hàm có thể chỉnh sửa dữ liệu của các phần tử trong mảng
    Tên mảng là địa chỉ của phần tử đầu tiên
    Mảng đối tượng
    Có thể lưu trữ đối tượng trong mảng.
    Khi khai báo mảng, cần cung cấp:
    Kiểu đối tượng được lưu trữ
    Số lượng đối tượng.
    Chương trình dịch sẽ tính ra kích thước vùng nhớ cần để cấp phát cho mảng.
    Ví dụ: Mảng đối tượng
    class CAT
    {
    public:
    CAT()
    { itsAge = 1; itsWeight=5; }
    ~CAT() {}
    int GetAge() const
    { return itsAge; }
    int GetWeight() const
    { return itsWeight; }
    void SetAge(int age)
    { itsAge = age; }
    private:
    int itsAge;
    int itsWeight;
    };
    int main()
    {
    CAT Litter[5];
    int i;
    for (i = 0; i < 5; i++)
    Litter[i].SetAge(2*i +1);
    for (i = 0; i < 5; i++)
    {
    cout << "Cat #" << i+1<< ": ";
    cout << Litter[i].GetAge() << endl;
    }
    return 0;
    }
    2. Mảng nhiều chiều
    Mảng nhiều chiều được coi là mảng của mảng.
    Khai báo:
    double sales[2][2];
    sales[1][0]=2.5;
    Khởi tạo:
    double sales[2][2]={{1.2,3.0},{-1.0,2.3}};
    3. Mảng con trỏ
    Ta có thể đặt toàn bộ mảng lên vùng nhớ tự do
    CAT *Family = new CAT[500];
    Family là một co trỏ trỏ tới phần tử đầu tiên của mảng có 500 phần tử CAT
    Family trỏ tới hoặc có địa chỉ của phần tử Family[0].
    Sử dụng con trỏ để truy nhập vào từng phần tử trong mảng
    CAT *Family = new CAT[500];
    CAT *pCat = Family; //pCat trỏ vào Family[0]
    pCat->SetAge(10); // gán Family[0] bằng 10
    pCat++; // trỏ vào Family[1]
    pCat->SetAge(20); // gán Family[1] bằng 20
    Phân biệt con trỏ trỏ tới mảng và mảng các con trỏ
    Cat FamilyOne[500]
    CAT * FamilyTwo[500];
    CAT * FamilyThree = new CAT[500];
    FamilyOne là một mảng có 500 phần tử CAT
    FamilyTwo là một mảng có 500 con trỏ trỏ tới CAT
    FamilyThree là một con trỏ trỏ tới một mảng có 500 phần tử CAT.
    4. Xâu ký tự
    Trong C++, xâu ký tự là một mảng các phần tử kiểu char và kết thúc bằng ký tự null.
    Có hai cách khai báo:
    char Greeting[] = { `H`, `e`, `l`, `l`, `o`, ` `, `W`,`o`,`r`,`l`,`d`, `` };
    char Greeting[] = "Hello World";
    Sử dụng cin.get()
    #include
    int main()
    {
    char buffer[80];
    cout << "Enter the string: ";
    cin.get(buffer, 79); // get up to 79 or newline
    cout << "Here`s the buffer: " << buffer << endl;
    return 0;
    }
    Lớp string
    string là một lớp chuẩn trong C++
    Các ký tự trong string được đánh từ 0
    Khởi tạo một đối tượng string
    string s1 (“Man”);
    string s2=“Beast”;
    string s3;
    Ta có thể sử dụng các tóan tử tóan học, logic … trên đối tượng string
    s3 = s1;
    s3 = “Neither” + s1 + “nor”;
    s3 += s2;
    string và toán tử >>
    Hàm getline(cin, string str): lưu thông tin từ luồng vào chuẩn đưa vào str.
    Ví dụ:
    string full_name;
    cout<< “Enter your fullname:”;
    getline(cin, full_name);
    // full_name lưu thông tin mà người sử dụng nhập từ bàn phím
    Tìm kiếm
    string s1=“Hello world”;
    string s2=“world”;
    int n=s1.find(s2);
    //n=6
    find() trả về vị trí lần đầu tiên s2 xuất hiện trong s1.
    Nếu không tìm thấy trả về 0
    Chỉnh sửa
    erase(int i1, int i2): xóa xâu con có chiều dài i2 bắt đầu từ vị trí i1.
    s=“Hello world”;
    s.erase(1,4);
    //s=“H world”
    replace(int i1, int i2, string s2): thay thế xâu con s2 từ vị trí i1, số lượng ký tự thay thế là i2.
    insert(int i, string s): chèn xâu s vào từ vị trí thứ i.
    append(int i, char c): chèn i ký tự c vào cuối xâu
    substr(int i1, int i2): trả về xâu con từ i1, có kích thước i2.
    size() và length(): trả về kích thước của xâu
    Truy nhập đến ký tự trong string
    Sử dụng tóan tử []
    Hàm at(i): trả về vị trí của ký tự thứ i trong xâu.
    Nếu i>length() thì báo lỗi
    Ví dụ:
    string s=“Hello world”;
    char c;
    c=s[1];
    //c=‘e’
     
    Gửi ý kiến