Rumah >pembangunan bahagian belakang >C++ >Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

王林
王林ke hadapan
2023-09-10 09:29:13633semak imbas

Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X

Dalam artikel ini, kita perlu mencari bilangan segmen atau sub-tatasusunan dalam urutan tertentu yang lebih besar daripada nombor X tertentu.

Kita boleh mengira segmen bertindih sekali sahaja, dua elemen atau segmen bersebelahan tidak boleh dikira secara berasingan. Jadi inilah contoh asas masalah yang diberikan −

Input : arr[ ] = { 9, 6, 7, 11, 5, 7, 8, 10, 3}, X = 7
Output : 3
Explanation : { 9 }, { 11 } and { 8, 10 } are the segments greater than 7

Input : arr[ ] = { 9, 6, 12, 2, 11, 14, 8, 14 }, X = 8
Output : 4
Explanation : { 9 }, { 12 }, { 11, 14 } and { 14 } are the segments greater than 8

Cara untuk mencari penyelesaian

Cara naif

Dalam masalah ini kita memulakan pembolehubah nyatakan dengan 0 dan mula memproses tatasusunan yang diberikan dan apabila kita mendapati lebih besar daripada Apabila unsur X ditemui, tukar keadaan kepada 1 dan teruskan memproses elemen apabila nombor kurang daripada atau sama dengan

Contoh

#include <bits/stdc++.h>
using namespace std;
int main (){
    int a[] = { 9, 6, 12, 2, 11, 14, 8, 14 };
    int n = sizeof (a) / sizeof (a[0]);
    int X = 8;
    int state = 0;
    int count = 0;
    // traverse the array
    for (int i = 0; i < n; i++){
        // checking whether element is greater than X
        if (a[i] > X){
           state = 1;
        }
        else{
           // if flag is true
           if (state)
               count += 1;
            state = 0;
        }
    }
    // checking for the last segment
    if (state)
        count += 1;
    cout << "Number of segments where all elements are greater than X: " << count;
    return 0;
}

Output

Number of segments where all elements are greater than X: 4

Penerangan program di atas

Dalam atur cara di atas, kami menggunakan keadaan sebagai suis dan menetapkannya kepada 1 apabila nombor yang lebih besar daripada X ditemui dan menetapkannya apabila nombor yang lebih besar daripada Cari nombor kurang daripada atau sama dengan Akhir sekali, cetak hasil yang disimpan dalam kiraan.

Kesimpulan h2>

Dalam artikel ini, kami menyelesaikan masalah mencari bilangan segmen di mana semua elemen lebih besar daripada X dengan menggunakan kaedah menetapkan keadaan kepada 1 dan 0 apabila segmen ditemui. Kita boleh menulis program ini dalam mana-mana bahasa pengaturcaraan lain seperti C, Java, Python, dll.

Atas ialah kandungan terperinci Ditulis dalam C++, cari bilangan segmen di mana semua elemen lebih besar daripada X. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam