Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
#1

Как считать матрицы из файла, если их несколько и они разного размера? - C++

13.04.2014, 16:46. Просмотров 433. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Как считать матрицы из файла, если их несколько и они разного размера? На экран нужно выводить в виде матрицы.
Сделать это нужно с помощью файловых потоков. Получается вывести, если только они одинакового размера.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 16:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как считать матрицы из файла, если их несколько и они разного размера? (C++):

Как считать текст из файла несколько раз подряд в программе? - C++
В общем, делал упражнение и у меня программа коряво написана так, что получается нужно использовать текст файла несколько раз, но я не знаю...

Как считать информацию из файла, если в конце стоит пробел? - C++
У меня при считывании из файла в массив, если в конце файла стоит пробел, то копируется ещё один символ (-842…..). Как определить, что в...

Как считать матрицу 3*3 из файла если он там задан неправильно - C++
как считать матрицу 3*3 из файла если он там задан неправильно например в файле 4 5 6 7 8 1 2 3 4 9 8 7 а должно считать 4 5...

Считать из файла вещественные числа и выяснить, действительно ли все они положительны - C++
В файле data.dat хранится множество x0,x1...,x32 из 32 положительных вещественных чисел. Составьте программу которая считывает указанное...

С++. Как правильно сохранять структуры разного размера в одном файле? - C++
У меня есть структуры (struct) одного типа, но разного размера (длины строк в них отличаются). Как можно их загнать в файл, чтобы потом...

Как сделать ввод матрицы из файла без указания размера - C++
Я сделал ввод матрицы из файла с указанием ее размера(массива),а как сделать ввод матрицы из файла без указания размера (строк и столбцов)....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
13.04.2014, 16:50 #2
Kostia1012, добавьте в файл перед самой матрицой ее размеры, считываете размеры, а потом саму матрицу и т.д.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.04.2014, 16:51 #3
Цитата Сообщение от Kostia1012 Посмотреть сообщение
Как считать матрицы из файла, если их несколько и они разного размера?
Зависит от того, как они записаны в файл.
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
13.04.2014, 17:00  [ТС] #4
Они записаны также в виде матрицы.

Добавлено через 31 секунду
Размеры нельзя, в файле должны содержаться только матрицы.
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 167
13.04.2014, 17:21 #5
я так понимаю матрицы квадратные тогда по числу элементов в строке получаешь сколько строк надо считать из файла для матрицы. Это единственный вариант при прямоугольных матрицах без размера матриц в файле не обойтись.
Kostia1012
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 96
13.04.2014, 17:26  [ТС] #6
А покажите код, пожалуйста, если впереди указаны размеры

Добавлено через 22 секунды
И код, если матрицы квадратные
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 167
13.04.2014, 17:30 #7
При прямоугольных матрицах при совпадении количества столбцов у двух подряд идущих матрицах можно вместо размера просто пустую строку использовать
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.04.2014, 22:54 #8
Разделять чем-то матрицы всё равно придётся (пустой строкой, или каким либо символом в строке). Например, матрицы разделены пустой строкой, числа, в матрице, разделены одним пробелом. Алгоритм, приблизительно, такой. Перед чтением первой строки матрицы, запоминается позиция файлового курсора, читается строка во временный буфер, подсчитывается количество пробелов (+1 - количество столбцов матрицы, а если матрицы квадратные, то и количество строк). Возврат курсора на сохранённую позицию, чтение строк до пустой строки, и подсчёт считанных строк (это нужно если матрицы могут быть и не квадратные). Потом выделение нужной памяти, возврат курсора в начало матрицы, и чтение уже чисел матрицы в память. Пропуск пустой строки и переход к чтению следующей матрицы, и т.д. Если использовать векторы, то можно проще.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2014, 22:54
Привет! Вот еще темы с ответами:

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...

Считать несколько символов (цифр) из файла и преобразовать их в число - C++
Предположим у меня есть массив, в котором у первого элемента значение 1, у второго значение 2, у третьего значение 3.Так вот как сделать...

Нарисовать несколько окон разного цвета и разного размера в разных местах - QBasic
Нарисовать несколько окон разного цвета и разного размера в разных местах.

Почему при добавлении одинаковых картинок в игру они получаются разного размера? - C#
Почему при добавлении одинаковых картинок в игру(40x40) они получаются разного размера? Стенки очень мелкие,танк очень большой.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.04.2014, 22:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru