Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
11 / 11 / 2
Регистрация: 06.01.2011
Сообщений: 49

Считать матрицу из файла

06.06.2011, 01:18. Показов 3231. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Задача следующая: Разработать модуль, считывающий матрицу из файла и выводящую её в виде плоскостного графика на лист.

С выводом разберемся, не вопрос. По поводу считывания, желательные требования - это универсальный подход. Пока что в моем арсенале есть скудные представления о функциях и методах, поэтому ниже приведу набросок и свои мысли, а вы меня поправьте/подскажите более рациональные подходы.
Итак

filetoopen = Application.GetopenFilename(...)

Open filetoopen for input as #1
do while not eof(1)
a=input(1, #1), 'так и не понял можно ли так сделать))
if isnumeric(a) then
b=b & a
else
cells(x,y)=b 'допустим сразу на лист выводим
b=""
y+1
end if
...
Далее нужно мне определить конец строки, дабы сделать x=x+1 - это номер строчки в выводимой на листе матрице. И вот как это сделать мой уже кипящий мозг не знает(( В идеале конечно надо еще поставить условие на isnumeric(a) or a="" , потому что файл был сформирован не мой и там могут быть какие то комментарии или записи не имеющие отношения к делу.
Вот в общем мои корявые и сумбурные мысли, буду признателен за любые идеи. Котелок уже реально не варит, 5 день ночами пишу.))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2011, 01:18
Ответы с готовыми решениями:

Разработать программу,котораядолжна считать с клавиатуры или файла матрицу,вектор,многочлен и транспонировать матрицу "на месте".
Помогите срочно...а то я пропал!

Считать матрицу из файла
код на си вроде,сколько смотрела по форумам, код правильный грешу на ввод размерности с клавиатуры выводит матрицу заполненную нулями...

Считать матрицу из файла
Такой вопрос, как считать матрицу из файла, если в первой строке записана размерность матрицы, а на последующих-сами элементы? Если это...

8
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.06.2011, 13:45
Для начала надо определиться со структурой файла!
Какой массив. Одномерный или двумерный.
А считывать можно и весь вайл целиком в переменную и потом с ним работать: Разбивать на строки. Строки на элементы
0
11 / 11 / 2
Регистрация: 06.01.2011
Сообщений: 49
06.06.2011, 21:42  [ТС]
хмм.
массив получается двумерный) первая строчка координаты по икс, первый стобец по игрек.
а если я файл считваю целиком в переменную, в чем будет разница?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.06.2011, 22:37
первая строчка координаты по икс, первый стобец по игрек.
А вторая строчка? А третья? пятая?
А сколько всего столбцов? если первый столбец по игрек, то что во втором столбце? в третьем? в пятом? Нужны ли они?

Добавлено через 1 минуту
универсальный подход
Это считать весь файл целиком в переменную и потом с ним работать: Разбивать на строки. Строки на элементы
0
11 / 11 / 2
Регистрация: 06.01.2011
Сообщений: 49
06.06.2011, 22:43  [ТС]
сколько всего неизвестно. поэтому и использую do while not eof.
матрица вся нужна) все кроме первого столбца и первой строчки это значения в точке с координатами (x,y).

Добавлено через 2 минуты
Это считать весь файл целиком в переменную и потом с ним работать: Разбивать на строки. Строки на элементы
Хорошо, думаю в этом действительно есть смысл, тогда все тот же вопрос, как понять что я дошел до конца строки?))
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.06.2011, 22:46
Visual Basic
1
2
3
4
5
   Dim File As String, CF As String 
   File = "d:\ca.log" 
   Open File For Binary As #1 
      CF = Input(FileLen(File), 1)   'загpyзить в пеpеменyю CF вcе cодеpжимое файла 
   Close #1
Добавлено через 2 минуты
'Разбиваем на массив строк
Dim ArrayLines() as String
ArrayLines = Split(CF, vbNewLine)
'Теперь tmp$ = ArrayLines(0) - первая строка, tmp$ = ArrayLines(1) - вторая, итп...
На массив слов аналогично...
Word$ = Split(ArrayLines(0), " ")
1
11 / 11 / 2
Регистрация: 06.01.2011
Сообщений: 49
06.06.2011, 22:57  [ТС]
Спасибо, открыли для меня новую функцию.))
'Теперь tmp$ = ArrayLines(0) - первая строка, tmp$ = ArrayLines(1) - вторая, итп...
Наверное, было бы неплохо знать сколько их в итоге получилось

Вообще я пока плохо улавливаю суть предложенного вами решения.
Word$ = Split(ArrayLines(0), " ") - этой строчкой мы получаем символ пробела, при его наличии, из 1 строки, если я вообще правильно понял как работает эта функция?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
07.06.2011, 08:02
Этой строчкой мы получаем массив элементов строки разбитый по пробелам(пробел должен быть один. Если пробел не один между элементами в строке - дополнительно обработать Replace)
Кода не известен размер массива - считали целиком в переменную, разбили построкам - узнали первую размерность массива. Разбили первую строку по символам - узнали вторую резмерность.
Назначили размер массива. А дальше в цикле заполнили его
1
11 / 11 / 2
Регистрация: 06.01.2011
Сообщений: 49
07.06.2011, 12:54  [ТС]
спасибо, теперь все понятно))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2011, 12:54
Помогаю со студенческими работами здесь

считать матрицу с файла
Матрица имеет такой вид, плз помогите написать код считывания с файла! заранее спасибо и файл я думаю желательно передавать как аргумент))...

Считать матрицу из файла
Необходимо ввести матрицу с файла, и её же вывести в файл. В чем ошибка? Program kl; var a: array of byte; i,j, m, n:byte;...

Считать матрицу из файла
Подскажите, пожалуйста, как считать матрицу 6 х 2 из файла a.txt и как эту же матрицу вывести в файл b.txt

Считать матрицу из файла
Как считать размерность матрицы и затем саму матрицу из файла? Добавлено через 52 минуты 53 секунды HELP!!!!!!!!!!!!!!!!!:help:

Считать матрицу из файла
Модифицировать программу из предыдущего задания так, чтобы сначала читались из файла число строк массива, затем число столбцов и, наконец,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 11.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru