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