Truy xuất đến các phần tử mảng

Một phần của tài liệu Hướng dẫn lập trình hướng đối tượng với C++ doc (Trang 43 - 44)

- Cấu trúc rẽ nhánh

b. Truy xuất đến các phần tử mảng

Để truy xuất đến các phần tử của mảng ta có thể dùng con trỏ hoặc chỉ số mảng. Sau đây là các cách truy xuất các phần tử của mảng thông dụng

Thông qua chỉ số mảng: xem xét chương trình sau. Chương trình nhận 10 chữ số nguyên từ bàn

phím và in ra các số chẵn đã được nhập vào. C++ Code:

Lựa chọn code | Ẩn/Hiện code #include <iostream>

using namespace std; int main(){

int const size=10; int n;

int a[size];

cout << "Enter " << size << " integers\n"; for(int i=0; i<size; i++){ // nhập 10 số nguyên

cout << "a[" << i << "]= ";

cin >> a[i]; // nhập dữ liệu cho phần tử a[i]

}

cout << "Even numbers are: \n";

for(int i=0; i<size; i++){ // duyệt hết mảng

if(a[i]%2==0){ // nếu là số chẵn cout << a[i] << " "; // in ra số chẵn } } return 0; }

Thông qua con trỏ: tên mảng thực chất là một con trỏ hằng, trỏ đến phần tử đầu tiên của mảng.

Vì vậy ta có thể truy xuất tới các phần tử của mảng thông qua con trỏ này. Chương trình trên được viết lại theo phong cách con trỏ.

C++ Code:

Lựa chọn code | Ẩn/Hiện code #include <iostream>

using namespace std; int main(){

int const size=5; int n;

int a[size];

for(int i=0; i<size; i++){ cout << "a[" << i << "]= ";

cin >> *(a+i); // đọc dữ liệu vào a[i]

}

cout << "Even numbers are: \n"; for(int i=0; i<size; i++){

if(*(a+i)%2==0){ // nếu a[i] chẵn

cout << *(a+i) << " "; // in ra a[i]

} } cout << system("pause"); return 0; }

Ta có thể chỉ dùng con trỏ mà không cần dùng biến chạy i, đặc biệt là trong thao tác với chuỗi (string). Mọi tăng giảm đều thực hiện trên con trỏ, tuy nhiên tên mảng là một con trỏ hằng, không thể thay đổi được. Vì vậy ta phải thực hiện việc này thông qua một con trỏ khác. Chương trình sau thực hiện việc đổi tất cả các dấu cách (space) thành dấu chấm (dot). Lưu ý rằng, C++ không có kiểu built-in là string, string được cài đặt thông qua mảng các ký tự (kiểu char). Dấu hiệu kết thúc của một string là ký tự NULL (hay ký tự ‘\0’), đây chính là cơ sở để làm điều kiện kết thúc vòng lặp. Xem xét chương trình.

C++ Code:

Lựa chọn code | Ẩn/Hiện code #include <iostream>

#include <cstdio>

using namespace std; int main(){

char str[]="I am a superman, ha ha ha"; char* ptr=str;

while(*ptr){ // nếu còn chưa hết xâu

if(*ptr==' '){ // nếu là dấu cách

*ptr='.'; // đổi thành dấu chấm

}

ptr++; // dịch đến ký tự tiếp theo

}

cout << str << endl; // in ra xâu đã được chỉnh sửa

return 0; }

Một phần của tài liệu Hướng dẫn lập trình hướng đối tượng với C++ doc (Trang 43 - 44)

Tải bản đầy đủ (DOCX)

(47 trang)
w