Всем привет, работаю с двумерным массивом таким образом заполняю:
for (int i = 0; i < 1000; i++)
{
for (int j = 0; j < 100; j++)
r[i][j] = i*j;
}
Потом мне надо найти элементы в этом массиве. Опять придется прогонять через двойной цикл, что думаю не очень хорошо. Как думаете, что тут будет лучше использовать?(что-нибудь из stl библиотеки может). Нужно чтобы по времени выполнения было быстрее.
#include <iostream>
#include <iomanip>
template <class T>
// нет никакого цикла
const std::pair<size_t, size_t> findVal(T* p, const size_t r, const size_t n, T item)
{
size_t first = 0, second = 0;
T* I = std::find(p, p + r * n, item);
first = (I - p) / n;
second = (I - p) % n;
return std::make_pair(first, second);
}
// тест
int main()
{
const size_t row = 8, column = 10;
int r[row][column];
for (size_t i = 0; i < row; i++) {
for (size_t j = 0; j < column; j++) {
r[i][j] = i*j;
std::cout <<std::setw(4) << r[i][j] <<' ';
}
std::cout << '\n';
}
const int k = 56;
std::pair<size_t, size_t> coord = findVal(r[0], row, column, k);
if (coord.first != row)
std::cout << "r[" << coord.first <<"][" << coord.second <<"] == " << k;
else
std::cerr << " error: there is no object with such a value";
return 0;
}
но лучше такой код прятать в шаблонный класс
template <class T>
class Some_type {....};
Some_type matrix(r[0]);
matrix.find(val);....
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть программа, которой нужны админские привилегии (например, доступ в папку "C:\Program Files")Прога запускается под обычным пользователем
При открытии главного активити считываю строки из текста потом забиваю их в static String [] в отдельном классе от активитиГлавный активити делает...
Такой вопрос, есть файл properties нужно все его значения перевести в Map, как грамотно это сделать? За ранее благодаренВсех с наступающим)