小编N.T*_*.T.的帖子

检查数组是否"正确"(C++)

一个正确的数组

假设我们有一个N长度的数组,由大写字母A,B和C组成.如果在数组中一个接一个地出现的每两个C字母之间,我们将数组称为"右数组",还有更多A字母比B字母.我的工作是发现一个给定的数组是否为"右",如果是,我要打印出"右",否则我就打印了给定的条件有多少个(以铯之间的位置)是不真实的(还有更多Bs比As).

输入:在第一行中,我们输入数组N中的lettes数(1 <N> 200).在下一行中,我们输入数组,中间没有空格.

输出:在一行中打印答案.

例子:

  • 输入:16 ABBCAABCACBAAACB输出:右

  • 输入:15 ​​ABBCABCACBAAACB输出:1

  • 输入:14 CABCABBCBAABBC输出:3

现在,我已经尝试解决这个问题,但是第三个例子对我不起作用 - 我得到2的输出,如上所述我应该得到3,除此之外 - 它编译完全没问题.

    #include <iostream>

using namespace std;

int main()
{
    int N;
    cin >> N;
    char Ar[N];
    int A = 0;
    int B = 0;
    int piece = 0;
    int attempt = 0;

    for (int i = 0; i < N; i++) {
        cin >> Ar[i];
    }

    for (int i = 0;  i < N; i++) {
        if (Ar[i] == 'C') { …
Run Code Online (Sandbox Code Playgroud)

c++ arrays element char error-checking

5
推荐指数
1
解决办法
236
查看次数

标签 统计

arrays ×1

c++ ×1

char ×1

element ×1

error-checking ×1