Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
4 / 5 / 0
Регистрация: 22.11.2015
Сообщений: 141
1

Определение размера массива при чтении из файла

21.07.2018, 12:54. Показов 687. Ответов 3
Метки нет (Все метки)

Здравствуйте! В основном,когда я сталкивался с чтением двумерного массива из файла .txt мне либо был известен размер заранее, либо размер был записан в самом файле. Но как быть, когда нужно узнать размер массива(не обязательно квадратного) самому(не обязательно при этом его считывать и как то использовать, например, можно просто узнать размер записанного массива). Думаю, что по этому вопросу должна быть какая то литература или кто-то мог задать подобный вопрос до меня. В таком случае буду рад, если кто-то из форумчан скинет мне ссылку.
Буду также благодарен, если кто-нибудь скинет код с комментариями, так как я в этой теме не очень хорошо разбираюсь
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2018, 12:54
Ответы с готовыми решениями:

Изменение размера файла при чтении
Есть ли такая возможность в режиме ядра, что бы при обработки IRP_MJ_READ пакета, т.е. при чтении...

Ошибка при чтении массива из файла
Доброго времени суток всем участникам форума! При написании программы столкнулся с проблемой,...

Ошибка при чтении массива слов из файла
void __fastcall TForm1::Button2Click(TObject *Sender) { char *ss; int p = 0; FILE *ff; ...

Stack overflow при чтении массива из файла
Доброго времени суток! Работа выполняется на VS2013. Мне необходимо открыть файл, вытащить из...

3
2 / 2 / 0
Регистрация: 20.07.2018
Сообщений: 28
21.07.2018, 16:04 2
Не понял вопроса. То есть тебе нужно с файла считать информацию(например числа) в массив и ты не знаешь на сколько создать массив? Если да, то можно использовать вектор. В вектор можно добавлять элементы походу чтения файла:

C++
1
2
3
4
while (!(input.eof())) { //Пока не конец файла
  input >> n;
  arr.push_back(n); //Добавить элемент в конец вектора и присвоить ему значение n 
}
А если нужно узнать размер вектора: arr.size();

Если это то что тебе нужно, могу написать код полностью. Или почитай про вектора тут http://cppstudio.com/post/8453/ там несколько частей.

Добавлено через 28 минут
Сформулируй вопрос попроще, чтобы прочитать и сразу понять, а не перечитывать 100 раз.
1
4 / 5 / 0
Регистрация: 22.11.2015
Сообщений: 141
21.07.2018, 16:49  [ТС] 3
Kosrotoff, спасибо за поправку. Вот более простая формулировка:
В файл записана прямоугольная матрица. Необходимо определить ее размер.
P.S. Считывать матрицу полностью не нужно, если только это не необходимо для решения задачи

Добавлено через 2 минуты
Можно и вообще ее не считывать, если нет необходимости
1
2 / 2 / 0
Регистрация: 20.07.2018
Сообщений: 28
21.07.2018, 18:47 4
Добавлено через 8 минут
Ясно, ну пока что у меня одна идея:
Узнаём сколько элементов строке, затем находим сколько строк всего, например методом getline:
while (!(input.eof())) {
Читаем строку полностью.
Счётчик++;
}

В итоге мы просто посчитали сколько элементов в строке и сколько строк, это и есть размер матрицы.
Что то у меня форум тупит и не отображаются сообщения, поэтому ответ до этого бессмыслен...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2018, 18:47

Ошибка 106 при чтении массива из файла
В общем такая проблема, есть процедура чтения двумерного массива из файла. Без графики при...

Ошибка при бинарном чтении массива структур из файла
Здравствуйте! Написал программу, которая бинарно записывает и считывает массив структур в файл, но...

Как узнать размер массива при чтении из файла?
Доброго времени суток. Возник вопрос: как узнать размер массива при чтении из файла(имеется ввиду,...

Ошибка конвертации в double при чтении массива из файла
Добрый День! Считую двомерный массив double из файла таким образом public class Data { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru