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

Как считать матрицу из файла без указания размерности? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан текстовый файл f , содержащий программу на языке Паскаль. Проверить эту программу на соответствие количества ключевых слов BEGIN, END. http://www.cyberforum.ru/cpp-beginners/thread37230.html
Дан текстовый файл f , содержащий программу на языке Паскаль. Проверить эту программу на соответствие количества ключевых слов BEGIN, END. вот решение на Паскале! нужно на с или с++! заранее спасибо!!! uses crt; var beg,en:byte; file_ :string; function find(slovo,stroka:string):byte; var f,p:byte; begin
C++ функции для очистки содержимого файла Есть какие нибудь функции для очистки содержимого файла???ну или для его удаления хотя бы?Подскажите пжл... http://www.cyberforum.ru/cpp-beginners/thread37226.html
Определить минимально значение среди трех вещественных чисел C++
Описать функции: 1) ввода исходных данных 2) обработки исходых данных 3) вывода результата С помощью этих функций написать программу для решения предложенной задачи: Определить минимально значение среди трех вещественных чисел, вводимых с клавиатуры..:wall:
C++ Файловые потоки и кириллица в имени файла
существует следующая проблема, возможно ранее обсуждалась, но поиск по форуму результатов не принес: ... std::ofstream file( "c:/кириллица_в_пути/file.txt" ); file << "hello, world!"; file.close(); ..
C++ Есть код нужно исправить ошибки http://www.cyberforum.ru/cpp-beginners/thread37201.html
есть задача: ввести размер квадратной матрицы и ее элементы. Элементы матрицы расположить в динамической памяти. Определить номер столбца, у которого сумма элементов, расположенных выше главной диагонали, максимальная, и номер столбца, у которого сумма элементов, расположенных ниже главной диагонали наименьшая. Обнулить элементы, используемые при подсчете этих сумм. #include <stdio.h>...
C++ Из строки удалить все символы, кроме пробелов, не являющиеся буквами английского алфавита Разработать консольное приложение. 1. Во введенной строке после k-го символа вставить заданную подстроку. Подстроку ввести с клавиатуры. 2. Найти и напечатать сколько раз повторяется в строке каждое слово, которое встречается в нем. Строку ввести с клавиатуры. 3. Из строки удалить все символы, кроме пробелов, не являющиеся буквами английского алфавита. Строку ввести с клавиатуры. подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17537 / 5775 / 370
Регистрация: 30.03.2009
Сообщений: 15,904
Записей в блоге: 26
30.05.2009, 11:46     Как считать матрицу из файла без указания размерности?
Цитата Сообщение от Lil Crazy Посмотреть сообщение
Не закомментированная функция ReadMatrixFromFile нормально работает, но я её писал для заданной размерности в файле. Как бы мне теперь её переделать без указания размерности в файле (матрица не квадратная)???!!!
А у тебя именно такая поставновка задачи или как?

Могу предложить такой вариант. Читаешь весь файл в какой-то текстовый буффер. Дальше тебе нужно понять, сколько в этом буффере чисел, сколько строк и сколько в каждой строке элементов. И давай для простоты будем считать, что файл сформирован правильно (т.е. нет такого, что в одной строке 3 числа, а в другой 4).

Для начала проще всего сделать двухпроходную схему. На первом проходе делаешь нарезку буффера на отдельные элементы, полагая, что разделителем между числами являются пробелы и знаки энтера. Нарвавшись на первый энтер, ты уже должен знать количество числе, которые ты нашёл в строковом представлении (сами числа пока можно не запоминать) - т.е. фактически ты вычислил количество столбцов в первой строке файла (и мы считаем, что файл у нас правильный, а потому ты выяснил количество столбцов твоей матрицы). В итоге при первом обходе буффера ты вычислишь сколько всего чисел было в файле, а так же количество столбцов. Одно делишь на другое, получается количество строк. Далее ты создаёшь матрицу с нужными размерностями и на втором проходе её зполняешь
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru