2012-03-31 8 views
1

Я знаю только количество строк r в матрице.Каков наилучший способ чтения матрицы неизвестных столбцов со стандартного ввода?

Как его прочитать в многомерном массиве arr[MAX][MAX]?

Я думал о чтении всех элементов в один массив, считая нет. элементов, а затем добавив их в группу в группах count/r. Есть ли более простой способ?

+3

Есть ли символ новой строки в конце каждой строки? –

ответ

0

Вы можете использовать тот факт, что все может идти в смежную память, поэтому просто продолжайте толкать ее в конце std::vector<double>. В конце вы знаете его длину и, учитывая, что знаете r, теперь вы также знаете количество столбцов.

0

Если у вас действительно есть только количество строк и список значений данных, просто прочитайте все это в вектор, а затем разделите размер вектора на количество строк, чтобы получить количество столбцов. Однако вам также нужно знать, хранятся ли данные по строкам или по столбцам. На этом зависит, как индексировать вектор (я бы сохранил данные в векторе и получил доступ к нему через вычисление индекса, скорее всего, инкапсулированный в классный маленький класс).

Смежные вопросы