Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để đếm số cầu thang và số bậc trong mỗi cầu thang

Giả sử chúng ta có một mảng A với n phần tử. Hãy để, Amal leo lên cầu thang bên trong một tòa nhà nhiều tầng. Mỗi khi trẻ leo lên, hãy bắt đầu đếm từ 1. Ví dụ, nếu trẻ leo lên hai cầu thang có 3 bậc và 4 bậc, cháu sẽ nói các số như 1, 2, 3, 1, 2, 3, 4. Trong mảng A, những con số đại diện cho số cầu thang do Amal nói. Chúng ta phải đếm số bậc cầu thang mà anh ta đã leo, cũng như in số bậc của mỗi bậc cầu thang.

Vì vậy, nếu đầu vào là A =[1, 2, 3, 1, 2, 3, 4, 5], thì đầu ra sẽ là 2, [3, 5]

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

p = 0
n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   if A[i] is same as 1, then:
      (increase p by 1)
print p
for initialize i := 1, when i < n, update (increase i by 1), do:
   if A[i] is same as 1, then:
      print A[i - 1]
print A[n - 1]

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;

void solve(vector<int> A) {
   int i, p = 0;
   int n = A.size();
   for (i = 0; i < n; i++) {
      if (A[i] == 1)
         p++;
   }
   cout << p << endl;
   for (i = 1; i < n; i++) {
      if (A[i] == 1)
         cout << A[i - 1] << ", ";
   }
   cout << A[n - 1];
}
int main() {
   vector<int> A = { 1, 2, 3, 1, 2, 3, 4, 5 };
   solve(A);
}

Đầu vào

{ 1, 2, 3, 1, 2, 3, 4, 5 }

Đầu ra

2
3, 5