7 / 7 / 0
Регистрация: 21.02.2011
Сообщений: 80
|
|
1 | |
как создать n-мерный массив, заполнив данными из данного файла18.03.2011, 23:49. Показов 2280. Ответов 8
Метки нет (Все метки)
Здравствуйте, уважаемые Гуру C++.
Начал изучать C++, но некоторые вещи, после php, кажутся весьма странными. Например, не могу разобраться со следующей задачей: Имеется файл данных, в котором располагается некий массив данных. Разные строки разделяются переводом строки, а столбцы пробелом. Первый столбец - текстовый (логин), остальные вещественные. Подскажите, как создать n-мерный массив, заполнив данными из данного файла.
0
|
18.03.2011, 23:49 | |
Ответы с готовыми решениями:
8
Создать массив структур, заполнив его информацией из файла “input.txt”. Упорядочить этот массив по убыванию суммы баллов Заполнить 3-х мерный массив данными, в каждой индексации разное количество Как создать двух мерный массив рандомно Массив: Создать двумерный массив, заполнив его согласно заданной схеме |
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
|
|
19.03.2011, 00:53 | 2 |
Если именно массив, то делать нужно в 2 прохода. Первым проходом определяем количество вещественных чисел, либо структур, в которые будем собирать эти числа, затем выделяем память под массив, затем вторым проходом заполняем массив числами или там структурами.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
19.03.2011, 00:55 | 3 |
xaker1, Но я советую посмотреть в сторону STL, а именно вектора... Ну или мап<std::string, std::vector<double> >.
0
|
7 / 7 / 0
Регистрация: 21.02.2011
Сообщений: 80
|
||||||
19.03.2011, 07:49 [ТС] | 4 | |||||
Мне интересен именно код. Как забирать данные из файла?
p.s. Массив или векторы использовать не имеет разницы, мне легче с массивами, но в университете предлагают именно векторы.
0
|
19.03.2011, 09:52 | 5 |
Вы уверены, что остальные столбцы это не текстовое представление вещественных чисел. Иначе зачем нужны между ними пробелы, ведь float (double) фиксированной длины . Скорее всего у вас текстовый файл, а не бинарный.
0
|
7 / 7 / 0
Регистрация: 21.02.2011
Сообщений: 80
|
|
19.03.2011, 12:34 [ТС] | 6 |
Ну да, текстовый файл. Нужно распарсить его, обработать и результат записать в файл.
0
|
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
|
|
19.03.2011, 15:44 | 7 |
Сначала читаешь файл в символьный (байтовый) массив. Файл закрываешь.
Потом в цикле проходишь по массиву от разделителя (пробелы) до разделителя, выбирая подстроки, в которых нужные тебе значения. Потом к подстрокам применяешь например atof(). Добавлено через 23 минуты Если по поводу способов работы с файлами - читай на тему CreateFile, ReadFile и WriteFile.
0
|
7 / 7 / 0
Регистрация: 21.02.2011
Сообщений: 80
|
||||||
19.03.2011, 16:49 [ТС] | 8 | |||||
Хорошо, покурю маны. Сразу еще вопрос один задам - есть ли в C++ аналог php-шного explode(), т.е. разбитие строки по определенной подстроке.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
19.03.2011, 16:55 | 9 | |||||
xaker1, В boost есть split.
В стандарте нет, но
0
|
19.03.2011, 16:55 | |
19.03.2011, 16:55 | |
Помогаю со студенческими работами здесь
9
Создать 8-мерный массив Запись из файла в 2-мерный массив Массив: Создать Х-мерный массив, где Х > 3 Не получается считать информацию из файла в 2-х мерный массив (С++) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |