Tải bản đầy đủ (.ppt) (17 trang)

video bước đi của đà điểu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (71.23 KB, 17 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1></div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Nội dung chính



Định nghĩa mảng


Mảng nhiều chiều


Mảng con trỏ



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

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


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Khai báo mảng



type arrayName

<b>[</b>

arraySize

<b>];</b>



<b>int c[ 10 ]; // mảng c gồm 10 số nguyên</b>
<b>float d[ 3284 ]; // mảng d gồm 3284 số thực</b>


Có thể khai báo nhiều mảng cùng kiểu



<b>int b[ 100 ], x[ 27 ];</b>


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 ]



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

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:


<b>int n[ 5 ] = { 1, 2, 3, 4, 5 }; </b>


 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ị


<b>int n[ 5 ] = { 0 };</b>


 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:


<b>int n[] = { 1, 2, 3, 4, 5 };</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

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


<b>int myArray[ 24 ]; </b>
<b>myFunction( myArray);</b>


 Mảng được truyền theo kiểu truyền tham chiếu


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

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



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Ví dụ: Mảng đối tượng



{



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;


}


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

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:



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

3. Mảng con trỏ



 Ta có thể đặt tồ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]


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

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



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

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', `\0' };


char Greeting[] = "Hello World";


 Sử dụng cin.get()


#include <iostream.h>
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;


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

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;


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

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);


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

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.




</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

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.


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

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;


</div>

<!--links-->

×