-2

私はこの配列を持っています:

000000000
000000000
00-2000000
000000000
000000000
000000000
000000000
00000-2000
000000000

私がやりたいことは、左から右に、各行に移動して、「-2」の最初の出現を見つけることです。他のものは印刷したくありません。

私はこのように試しましたが、うまくいきません

while ((g[p1][p2] != -2) && (p1 < 9) && (p2 < 9))
{
    if (p2 = 9) p1++;
    else p2++;
}

これは 9x9 の配列で、最初の -2 を探しています。

4

4 に答える 4

1

C++ にタグを付けたので、次のようにしてみませんか。

#include <iostream>
#include <string>
#include <vector>

int main(int argc, const char * argv[])
{
    std::vector<std::string> rowStr;

    // Import your data however you need to, below is just for example
    rowStr.push_back("000000000");
    rowStr.push_back("000000000");
    rowStr.push_back("00-2000000");
    rowStr.push_back("000000000");
    rowStr.push_back("000000000");
    rowStr.push_back("000000000");
    rowStr.push_back("00000-2000");
    rowStr.push_back("000000000");

    std::string subString("-2");

    for (size_t r = 0; r < rowStr.size(); r++) {
        std::string binaryStr = rowStr.at(r);
        if (binaryStr.find(subString) != std::string::npos) {
            size_t c = binaryStr.find(subString);
            std::cout << "row = " << r << "; col = " << c << std::endl;
        }
    }

    return 0;
}

出力は次のとおりです。

row = 2; col = 2
row = 6; col = 5
于 2013-11-13T17:20:32.320 に答える