

Viết chương trình nhập vào dãy số nguyên a. Hãy đếm và đưa ra số lượng các phần tử lớn hơn phần tử đứng trước và đứng sau nó. Lưu ý: phần tử đầu và cuối dãy không thoả mãn điều kiện có đủ hai phần tử đứng trước, đứng sau nên không tính Input: Một dòng ghi dãy các số nguyên, các số cách nhau bởi dấu cách, có giá trị tuyệt đối không quá 103, số lượng số không quá 103 Output: In ra một số nguyên là số lượng các phần tử thoả mãn điều kiện Ví dụ: Input: 5 -3 0 4 -1 2 -6 -4 -5 9 -12 1 Output: 4
làm c++ nha
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
`***` `\text{Ý tưởng}`:
`-` Nhập lần lượt các số nguyên của dãy cho đến khi hết dữ liệu.
`-` Lưu các số vào mảng theo thứ tự xuất hiện.
`-` Chỉ xét các phần tử không ở đầu và cuối mảng (vì cần `2` phần tử kề).
`-` Với mỗi phần tử `a[i]` (từ `i=2` đến `i=n-1`):
`+` Nếu `a[i]` lớn hơn cả `a[i-1]` và `a[i+1]` thì đó là một đỉnh.
`+` Tăng biến đếm.
`-` In ra số lượng phần tử là đỉnh.
`***` `\text{Code C++}`:
#include<bits/stdc++.h>
#define N 10000000
using namespace std;
int a[N+3];
int main(){
int n=0,i,dem=0,x;
while (cin>> x){
n++;
a[n]=x;
}
for(i=2;i<n;i++){
if(a[i]>a[i-1] && a[i]> a[i+1]){
dem++;
}
}
cout << dem;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
`@`$\texttt{Idea}$
Với mỗi phần tử ở vị trí `i` (từ phần tử thứ 2 đến trước phần tử cuối), kiểm tra:
a[i] > a[i-1] và a[i] > a[i+1] | đúng thì đếm.
`@`$\texttt{C++}$
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
freopen("input.inp", "r", stdin);
freopen("output.out", "w", stdout);
int a[1005], n = 0;
while (cin >> a[n]) n++;
int d = 0;
for (int i = 1; i < n - 1; i++)
if (a[i] > a[i - 1] && a[i] > a[i + 1])
d++;
cout << d;
return 0;
}
`@` Nhập mảng a
`@` kiểm tra điều kiện | cộng biến đếm
`@` in biến đếm
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
0
100
0
bạn làm lại xem chứ ko ra
502
5570
479
đúng mà
502
5570
479
Có link bài ko
0
100
0
ĐỀ HSG NGA SƠN 2024-2025
502
5570
479
https: //lqdoj.edu.vn/problem/cdl6p10
502
5570
479
Link này đúng ko ạ
502
5570
479
Bạn check giúp mik