| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Подсчёт числа столбцов |
| Автор: W4FhLF 6.7.2008, 12:10 | ||||||
Есть такой файл:
Известно, что кол-во чисел в каждой строке постоянно. Отступов(tab, space) может быть сколько угодно. Т.к. кол-во столбцов в файле << кол-ва строк, а общее число столбцов и строк заранее неизвестно, файл описывается такой структурой:
т.е. каждый столбец - отдельный вектор. Задача: рассчитать кол-во необходимых столбцов, выделить память и заполнить массив. С выделением памяти и заполнение всё понятно. Рассчёт кол-ва столбцов реализовал следующим образом:
Глядя на код не получаю морального удовлетворения |
| Автор: jonie 6.7.2008, 12:45 | ||||
а почему бы не
|
| Автор: W4FhLF 6.7.2008, 13:30 |
| jonie, ну у тебя для каждой строки выделяется вектор, а у меня наоборот - каждый столбец это отдельный вектор. В случае: плодить столько объектов не очень-то рационально(например сейчас в файле кол-во столбцов 3, а строк 10 000). Функция extractDouble в любом случае потребует прохождения по всей строке. В общем, кода придётся писать не меньше, а ресурсов он сожрёт больше |
| Автор: JackYF 6.7.2008, 18:12 |
| Решение вполне неплохое, по мне. |
| Автор: jonie 6.7.2008, 23:41 | ||||||||
| W4FhLF я невнимателен) ни как минимум ...
ну а далее дочитывать... конечно, можно вообще всех запутать, сделав все на старом добром..
а если строки заканчиваются без пробела, то пойдет и такое:
это в тему "мне не нравится создание временных обхектов"... выбора дофига. ------------- вообще есть boost::spirit... это чтоб вообще никто не понял че делает код 8-) но имхо так не стоит извращаться) стоит сделать так чтобы это было понятно не только тебе.. |