在2d数组中查找值并将其移动到另一个2d数组

时间:2018-03-29 02:07:28

标签: c++

enter image description here所以我想搜索我的2d数组并找到搜索值出现的位置(行号和列号),并将行号和列号存储在二维数组的连续行中

我的指示 "如果在数据数组中找到该值,则将数据数组中找到的位置(行和列偏移)存储到locations数组中。每次在数据数组中找到该值时,该位置都将存储在locations数组的下一行中。行偏移将存储在列0中,列偏移将存储在位置数组的第1列中。按行搜索二维数据数组。"

这是我困惑的地方

            locations[Rsize][Rsize]=data[i][j];
            Rsize++;

我不知道如何将行和列从数据数组移动到新位置数组 位置数组row 0 col 0应该有数据行 &安培; locations array row 0 col 1应该有数据列

void find_value(short data[][15], short rows, short cols, short locations[] [2], short &Rsize, short searchValue)
{
short i,j;
Rsize=0;
for(i=0;i<rows;i++)
{
    for(j=0;j<cols;j++)
    {
        if(data[i][j]==searchValue)
        {
            locations[Rsize][Rsize]=data[i][j];
            Rsize++;
        }
    }
}
}

1 个答案:

答案 0 :(得分:2)

你很亲密。请记住,位置只是一个数组数组。您只想将大小为2的数组附加到位置。

您想要更改此内容:

locations[Rsize][Rsize]=data[i][j];

到此:

locations[Rsize][0] = i;
locations[Rsize][1] = j;