Chúng ta được cung cấp một mảng chứa các phần tử số nguyên và hai số bắt đầu và kết thúc và nhiệm vụ là tính số lượng các phần tử có từ đầu đến cuối trong một mảng.
Mảng là một loại cấu trúc dữ liệu có thể lưu trữ một tập hợp tuần tự có kích thước cố định của các phần tử cùng kiểu. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi một mảng là một tập hợp các biến cùng kiểu. Nếu phần tử bắt đầu xảy ra nhiều lần thì chúng tôi sẽ xem xét sự xuất hiện đầu tiên của phần tử bắt đầu và nếu phần tử kết thúc xảy ra nhiều lần thì chúng tôi sẽ xem xét sự xuất hiện cuối cùng của phần tử kết thúc.
Ví dụ
Input − int arr[] = {1, 2, 3, 4, 5, 6, 7} Start = 1 and End = 7 Output − count is 5
Giải thích - Trong mảng đã cho có 7 phần tử và dãy là 1-7. Vì vậy, giữa phạm vi này có tổng cộng 5 phần tử.
Input − int arr[] = {1, 2, 3, 4, 5, 6, 7} Start = 7 and End = 9 Output − count is 0
Giải thích - Trong mảng đã cho có 7 phần tử và dãy là 7-9. Vì vậy, giữa phạm vi này không có phần tử nào nên số lượng là 0.
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
-
Nhập một mảng, giả sử int arr []
-
Tính độ dài của cả hai mảng bằng cách sử dụng hàm length () sẽ trả về một giá trị nguyên theo các phần tử trong một mảng.
-
Bắt đầu vòng lặp từ i đến 0 cho đến khi tôi nhỏ hơn kích thước của một mảng
-
Trong vòng lặp, hãy kiểm tra xem arr [i] =start rồi break
-
Kiểm tra xem tôi có> size-1 không rồi quay lại
-
Bắt đầu một vòng lặp khác với j đến size-1 và j> =i + 1 và j--
-
Kiểm tra xem arr [j] =end rồi break
-
Kiểm tra xem j =1 rồi trả về 0
-
Trả lại j-i-1
-
In kết quả.
Ví dụ
#include <iostream> using namespace std; // For counting the numbers between the two elements int countelements(int ar[], int n, int start, int end){ // Find start int i = 0; for (i = 0; i < n; i++){ if (ar[i] == start){ break; } } // If start is not present or present at the last if (i >= n-1){ return 0; } // Find end int j; for (j = n-1; j >= i+1; j--){ if (ar[j] == end){ break; } } // If end is not present if (j == i){ return 0; } // number of elements between the two elements return (j - i - 1); } // Main Function int main(){ int ar[] = { 1, 6, 2, 5, 9, 8, 3, 7, 4 }; int n = sizeof(ar) / sizeof(ar[0]); int start = 5, end = 4; cout <<"count is " <<countelements(ar, n, start, end); return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -
Số lượngcount is 4