Tìm phần tử cuối cùng trong mảng C++ | Laptrinhcanban.com

Tìm phần tử cuối cùng trong mảng C++

Hướng dẫn cách tìm phần tử cuối cùng trong mảng C++. Bạn sẽ học được cách tìm phần tử cuối cùng trong mảng C++, cách tìm vị trí cuối cùng của phần tử x trong mảng C++, cách tìm phần tử chẵn lẻ cuối cùng trong mảng C++, cũng như cách tìm số âm dương cuối cùng trong mảng C++ sau bài học này.

Tìm phần tử cuối cùng trong mảng C++

Phần tử cuối cùng trong mảng C++ sẽ có vị trí index bằng độ dài (số phần tử) của mảng trừ đi một đơn vị.

Do đó, để tìm phần tử cuối cùng trong mảng C++, chúng ta cần phải tìm ra độ dài (số phần tử) của mảng đó, và truy cập tới vị trí cuối cùng trong mảng để lấy ra phần tử cuối cùng.

Để tìm ra độ dài (số phần tử) của mảng C++, chúng ta sẽ dùng tới phương pháp mà Kiyoshi đã hướng dẫn trong bài sau:

Và chúng ta viết chương trình tìm phần tử cuối cùng trong mảng C++ đơn giản như sau:

#include <iostream>
using namespace std;

/*Định nghĩa macro SIZE_OF_ARRAY để lấy độ dài (số phần tử) trong mảng chỉ định*/
#define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof(array[0]))

int main(){
int array1[] = {5, 4, 7, 2, 8, 7, 3};
int array2[] = {1, 2, 3, 4, 5};

//Tìm độ dài (số phần tử ) của mảng
int length1= SIZE_OF_ARRAY(array1);
int length2= SIZE_OF_ARRAY(array2);

//Tìm phần tử cuối cùng trong mảng
cout << "Phan tu cuoi cung mang array1 la " << array1[length1-1] << endl;
cout << "Phan tu cuoi cung mang array2 la " << array2[length2-1];
return 0;
}

Kết quả phép tìm phần tử cuối cùng trong mảng C++ như sau:

Phan tu cuoi cung mang array1 la 3
Phan tu cuoi cung mang array2 la 5

Tìm vị trí cuối cùng của phần tử x trong mảng C++

Để tìm vị trí cuối cùng của phần tử x trong mảng C++ có n phần tử, chúng ta đơn giản tạo một vòng lặp để lấy từng phần tử từ cuối mảng về đầu mảng, và so sánh với phần tử x cần tìm.

Vị trí của phần tử đầu tiên giống với x được tìm thấy chính là vị trí cuối cùng của phần tử x trong mảng C++.

Và chúng ta viết chương trình tìm vị trí cuối cùng của phần tử x trong mảng C++ như sau:

#include <iostream>
using namespace std;

/*Định nghĩa macro SIZE_OF_ARRAY để lấy độ dài (số phần tử) trong mảng chỉ định*/
#define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof(array[0]))

/*Tạo hàm tìm vị trí cuối cùng của phần tử x trong mảng C++*/
int find_last_x(int array[], size_t n, int x){
for (size_t i = n-1; i >=0; i --){
if (array[i]==x){
return i;
}
}
}

int main(){
int array[] = {5, 4, 6, 7, 2, 8, 7, 3};


int x;

//Tìm độ dài (số phần tử ) của mảng
int n= SIZE_OF_ARRAY(array);

//Tìm vị trí cuối cùng của phần tử x trong mảng C++

x = 7;
int k1 = find_last_x(array, n , x);
cout << "Vi tri cuoi cung cua so "<<x <<" trong mang la "
<<k1 <<endl;

x = 4;
int k2 = find_last_x(array, n , x);
cout << "Vi tri cuoi cung cua so "<<x <<" trong mang la "
<<k2 <<endl;

return 0;
}

Kết quả phép tìm vị trí cuối cùng của phần tử x trong mảng C++ như sau:

Vi tri cuoi cung cua so 7 trong mang la 6
Vi tri cuoi cung cua so 4 trong mang la 1

Tìm số chẵn lẻ cuối cùng trong mảng C++

Để tìm số chẵn cuối cùng trong mảng, chúng ta đơn giản tạo một vòng lặp để lấy từng phần tử từ cuối mảng về đầu mảng, và kiểm tra xem phần tử đó có phải là số chẵn không.

Số chẵn đầu tiên được tìm thấy chính là số chẵn cuối cùng trong mảng C++.

Một cách tương tự thì chúng ta cũng có thể tìm số lẻ cuối cùng trong mảng với phương pháp này.

Về việc kiểm tra một phần tử là số chẵn hay số lẻ, chúng ta sẽ dùng tới một trong 2 phương pháp mà Kiyoshi đã hướng dẫn trong bài:

Và chúng ta viết chương trình tìm số chẵn lẻ cuối cùng trong mảng như sau:

#include <iostream>
using namespace std;

/*Định nghĩa macro SIZE_OF_ARRAY để lấy độ dài (số phần tử) trong mảng chỉ định*/
#define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof(array[0]))

/*Tạo hàm kiểm tra số chẵn lẻ*/
int check_odd_even(int n){
//flag = 1 => số lẻ
//flag = 0 => số chẵn

int flag = 1;
if( n % 2 == 0 ) flag= 0;
return flag;
}


/*Tạo hàm tìm số chẵn cuối cùng trong mảng C++*/
int find_last_odd(int array[], size_t n){
for (size_t i = n-1; i >=0; i --){
int x = array[i];
if (check_odd_even(x)==0){
return x;
}
}
}

/*Tạo hàm tìm số lẻ cuối cùng trong mảng C++*/
int find_last_even(int array[], size_t n){
for (size_t i = n-1; i >=0; i --){
int x = array[i];
if (check_odd_even(x)==1){
return x;
}
}
}

int main(){
int array[] = {5, 4, 6, 7, 2, 8, 7, 3};

//Tìm độ dài (số phần tử ) của mảng
int n= SIZE_OF_ARRAY(array), k;


//Tìm số chẵn cuối cùng trong mảng C++
k = find_last_odd(array, n);
cout << "So chan cuoi cung trong mang la "<<k <<endl;

//Tìm số lẻ cuối cùng trong mảng C++
k = find_last_even(array, n);
cout << "So le cuoi cung trong mang la "<< k;

return 0;
}

Kết quả phép tìm số chẵn lẻ cuối cùng trong mảng C++ như sau:

So chan cuoi cung trong mang la 8
So le cuoi cung trong mang la 3

Tìm số âm dương cuối cùng trong mảng C++

Để tìm số dương cuối cùng trong mảng, chúng ta đơn giản tạo một vòng lặp để lấy từng phần tử từ cuối mảng về đầu mảng, và kiểm tra xem phần tử đó có phải là số dương không.

Số dương đầu tiên được tìm thấy chính là phần tử dương cuối cùng trong mảng C++.

Một cách tương tự thì chúng ta cũng có thể tìm số âm cuối cùng trong mảng với phương pháp này.

Về việc kiểm tra một phần tử là số âm hay số dương, chúng ta đơn giản so sánh số đó với 0. Bạn cũng có thể dùng tới hàm tự tạo mà Kiyoshi đã hướng dẫn trong bài:

Và chúng ta viết chương trình tìm số âm số dương cuối cùng trong mảng như sau:

#include <iostream>
using namespace std;

/*Định nghĩa macro SIZE_OF_ARRAY để lấy độ dài (số phần tử) trong mảng chỉ định*/
#define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof(array[0]))


int main(){
int array[] = {5, 4, -6, 7, -2, 8, 7, 3};

//Tìm độ dài (số phần tử ) của mảng
int n= SIZE_OF_ARRAY(array);


//Tìm số dương cuối cùng trong mảng C++
for (size_t i = n-1; i >=0; i --){
if (array[i]>0){
cout << "So duong cuoi cung trong mang la "<< array[i] <<endl;
break;
}
}


//Tìm số âm cuối cùng trong mảng C++
for (size_t i = n-1; i >=0; i --){
if (array[i]<0){
cout << "So am cuoi cung trong mang la "<< array[i];
break;
}
}

return 0;
}

Kết quả phép số âm dương cuối cùng trong mảng C++ như sau:

So duong cuoi cung trong mang la 3
So am cuoi cung trong mang la -2

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm phần tử cuối cùng trong mảng C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.