|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|||||||||||
Чтение массива чисел из файла13.03.2018, 18:52. Показов 2783. Ответов 16
Метки нет (Все метки)
Доброго времени суток, товарищи!
Пишу программу, которое производит чтение и различные действия (сложение, умножение и т.д.) с матрицами, расположенными по адресу C:\Users\Динар\source\repos\ConsoleAppli cation3\ConsoleApplication3\massive1.txt и C:\Users\Динар\source\repos\ConsoleAppli cation3\ConsoleApplication3\massive2.txt Но это в перспективе. Пока дошел до того момента, когда программа считывает массив чисел из обоих файлов и выводит на экран данные массивы, чтобы проверить программу на наличие ошибок и их оказолось очень и очень много. Прошу подправить ошибки и подробно рассказать на ошибки, т.к. программированию учусь по книжкам из мнета и спросить некого ![]()
Ввел небольшие изменения, вот что получилось:
C:\Users\Динар\source\repos\ConsoleAppli cation3\ConsoleApplication3\massive2.txt Поэтому возникает вопрос: как разместить эти 2 файла в том адресе, где хотелось первоначально? и выводит пустую консоль. Что делать. где ошибка
0
|
|||||||||||
| 13.03.2018, 18:52 | |
|
Ответы с готовыми решениями:
16
Чтение из файла двумерного массива чисел (visual studio 2008) Чтение двумерного массива вещественных чисел из файла, где числа разделены "," и ";" |
|
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
|
||||||||||||
| 13.03.2018, 19:06 | ||||||||||||
1
|
||||||||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 13.03.2018, 19:08 | |
|
Косая черта - двойная в путях. eof() не использовать. Перед повторным чтением сбросить флаги и возвратить указатель к началу. Память освобождать.
1
|
|
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
||||||
| 13.03.2018, 19:10 | ||||||
Сообщение было отмечено Dinar17 как решение
Решение
Получите, распишитесь. Убрал твои комментарии, чтобы не мешались при чтении моих
1
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 13.03.2018, 19:13 | |
|
Cortas, халтура. Указатель сдвигается без закрытия. eof() не убран. Память не освобождена.
0
|
|
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
|||||||||||
| 13.03.2018, 19:27 | |||||||||||
|
nmcf, согласен, забыл про освобождение. А вот про курсор не соглашусь т.к. не всегда метод seekg()/seekp() работает корректно. И чем вам так не угодил eof()? Все равно ведь, если использовать имя объекта он будет возвращать нулевое значение при каком-либо флаге.
Освобождение памяти.
Понял Добавлено через 7 минут В таком случае
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 13.03.2018, 19:38 [ТС] | |
|
Скопировал полностью. Единственное что не сходится - указал полный путь к файлу как и было предложено через две косые черты. Принскрин прикрепил ниже, может даст какую-либо информацию. Ошибка "Cannot open file massive1.txt".
В чем может быть ошибка???
0
|
|
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 13.03.2018, 19:41 [ТС] | |
|
Ан нет. Нашел свою ошибку. Cortas, Можно чуть подробнее про последнее сообщение. Ничего не понял ни про eof(), ни про освобождение памяти, ни про seekg()/seekp(). Можно чуть подробнее, если есть возможность или ссылку, где я мог бы подробнее ознакомиться
0
|
|
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
||||||
| 13.03.2018, 19:42 | ||||||
|
Dinar17, попробуй пересобрать проект
Upd: про освобождение
1
|
||||||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 13.03.2018, 19:52 [ТС] | |
|
Ан нет. Нашел свою ошибку. Cortas, Можно чуть подробнее про последнее сообщение. Ничего не понял ни про eof(), ни про освобождение памяти, ни про seekg()/seekp(). Можно чуть подробнее, если есть возможность или ссылку, где я мог бы подробнее ознакомиться
Добавлено через 6 минут Про необходимость освобождения понял, спасибо я в курсе, это только 1 часть того что я хочу написать. Как допишу освобожу память. И такой интересный вопрос - почему в с++ возможен только динамический двумерный массив если его параметры узнаются в ходе работы программы(длина массива)? Давным давно в школе изучал паскаль, и насколько я помню такого там нет. Так в чем прикол?
0
|
|
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
||||||
| 13.03.2018, 19:55 | ||||||
|
Вот про eof() (первая ссылка в гугле "Чем плох eof()"), ссылка на stackoverflow почему то не хочет работать тут. seekg()/seekp() перемещает курсор в файле (Поподробней).
Добавлено через 2 минуты Dinar17, не совсем тебя понял. Почему нельзя использовать массив фиксированной длины? Можно, почему нет, вот:
0
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|||
| 13.03.2018, 19:57 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 13.03.2018, 20:00 [ТС] | |
|
Про массив я немного про другое. К примеру в программе задается рандомное число i. Если я правильно понимаю мы не может задать статический массив, мы его должны обязательно сделать динамическим, так?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 13.03.2018, 20:02 | |
|
Да. Массив переменной длины в C++ - это std::vector.
0
|
|
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
||||||
| 13.03.2018, 20:04 | ||||||
|
nmcf, вполне возможно что так оно и есть, однако вот кусок кода, где он работает только с файлом, открытым в бинарном режиме, без него программа тупо виснет.
код
0
|
||||||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 13.03.2018, 20:11 [ТС] | |
|
Товарищи! Спасибо за просвещение! Вопрос не по теме немного. Можете еще посоветовать в каком направление идти в обучении С++??? Думаю по - тихоньку я охвачу эту базу с классами, векторами, файлами и т.д. А дальше куда? В каком направлении изучать С++, чтобы потом можно было применить в практическом направлении, то есть потом может даже устроился на работу( мечта это с детства, не получилось поступить на программиста в универ
)
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 13.03.2018, 20:12 | |
|
Cortas, в текстовом режиме спец. символы обрабатываются по-особому. Нужно предварительно запоминать текущую позицию, чтобы потом возвращаться к ней.
В любом случае переход к началу работает корректно.
2
|
|
| 13.03.2018, 20:12 | |
|
Помогаю со студенческими работами здесь
17
Чтение чисел из файла Чтение из файла чисел
Чтение чисел из файла Чтение из файла левых чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|