سلام؛ خب میتونید بهصورت خطی ماتریستون را جستجو کنید و اون عددی که میخواید را سطر/ستونش را چاپ کنید، برای مثال:
using vec_int = std::vector<size_t>;
using vec_ints = std::vector<vec_int>;
using point = std::pair<size_t, size_t>;
point find_xy_in_matrix(const vec_ints& in, size_t key)
{
for (size_t i{}; i < in.size(); ++i)
{
for (size_t j{}; j < in.at(i).size(); ++j)
{
if (in.at(i).at(j) == key)
{
return {i, j};
}
}
}
return {};
}
و به اینصورت هم میتوانیم به راحتی استفاده کنیم:
int main(void)
{
vec_ints a{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
auto [x, y] = find_xy_in_matrix(a, 9);
std::printf("[%lu][%lu] = %d\n", x, y, 9);
}