|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.12.2019, 23:30 | #11 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Просто интересно - может, у списка в данном случае какое-то преимущество, которого я не понял из чтения литературы Мне показалось, что именно вектор и придуман как массив переменного размера.
Насколько у меня сложилось впечатление, тут в принципе можно использовать не только вектор, но и список, и деку, и стек. Просто что будет удобнее |
15.12.2019, 01:35 | #12 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Ну, вот к чему в итоге пришел. Имеется тестовый файл, допустим, на две колонки с действительными значениями.
Код:
Код:
|
15.12.2019, 10:13 | #13 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Я - всё о своём Посмотреть этот файл в каком-нибудь hex-редакторе (WinXex, TotalComfnder) - все строки одинаковой длины - или как? А насчет пустых строк (в смысле, одни пробелы, ни одной цифры)- просто их игнорировать. Т.е. считывать не сразу во float, а в строку, и если она не пустая - тогда из неё преобразовывать во float. Я в Си++ не селен, но в простом Си мне вполне хватало sscanf.
Последний раз редактировалось digitalis; 15.12.2019 в 10:17. |
15.12.2019, 12:47 | #14 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
В hex-редакторах я, к сожалению, не копенгаген
Пришла в голову простая мысль - просто сравнивать считываемые аргументы из первой колонки. Если снова считался такой же, как на прошлом шаге, пошли пустые строки. Нашел еще функцию to_string(), но не могу понять, почему она у меня не работает. Модуль string подключен. Последний раз редактировалось archerix; 15.12.2019 в 13:08. |
15.12.2019, 13:13 | #15 | |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Скиньте файл мне в личку, гляну. Или хотя бы фрагмент, если мегабайты .
to_string() судя по имени, это "что-то преобразовать в строку", а не наоборот. И почему "СИ_плюсники" молчат ? Цитата:
|
|
15.12.2019, 13:27 | #16 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Предполагается, что в файле забиты аргумент и значение некоей функции, которую после считывания надо интерполировать, дифференцировать и т.п. Потому если значение самой функции и может быть одинаковым в разных точках, то аргумент из первой колонки должен быть уникальным.
А тексты программ и файла с числами я привел полностью в посте. Разве что для проверки в конце файла набил несколько пустых строк. Мистика какая-то. Попробовал сразу после считывания вывести последний и предпоследний элементы вектора аргументов, с максимальным набежавшим индексом i и i-1: Код:
Последний раз редактировалось archerix; 15.12.2019 в 13:34. |
15.12.2019, 13:37 | #17 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
|
19.12.2019, 04:09 | #18 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Короче, вот с таким костылем (if(vectX[imax-1]==vectX[imax-2]) imax-- ) вроде все считывание работает, и при наличии пустых строк в конце, и без них. Хотя загадку того, как последнее значение в векторе Х сначала становится мусором, а потом последним значащим числом, я так и ниасилил
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Считывание данных из файла | bylbyl9tor | Помощь студентам | 1 | 11.04.2019 14:26 |
Считывание данных с файла | LittleStudent | Помощь студентам | 0 | 29.05.2011 12:08 |
считывание данных из текстового файла | Olejik | Общие вопросы по Java, Java SE, Kotlin | 3 | 03.10.2009 20:40 |
Считывание данных из файла | inret | Общие вопросы Delphi | 4 | 18.11.2007 18:03 |
Считывание данных из файла | PAVEL315 | Общие вопросы Delphi | 26 | 17.12.2006 00:53 |