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

Một phần của tài liệu Lý thuyết lập trình C++ (Trang 71 - 73)

- from alpha to omega 4 Trả về giá trị của hàm (returning value from functions)

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

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

cout << "Enter " << size << " integers\n"; 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; }

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 Lý thuyết lập trình C++ (Trang 71 - 73)

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

(78 trang)
w