Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Издеваемся над матрицами, ВычМат и жизнь=) 
:(
    Опции темы
Elanor
  Дата 20.2.2003, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.2.2003
Где: Россия, Москва - Bree, Brandyback Hall

Репутация: нет
Всего: нет



Итак, ребяты
что мы имеем?
есть текстовый файл вида

matrix of system:
number of lines and of columns is: 5
.426338 1.446329 1.549385 1.090958 .1644897
.7058948 2.114897 4.686707 .9781208 4.913401
.4321915 .5612787 8.636734 10.86299 5.613901
1.132233 3.561226 6.236092 2.069079 5.077891
1.138086 2.676176 13.32344 11.84111 10.5273
free members:
7.77345
32.81205
62.37718
40.5855
95.18923

причем каждый раз размер матрицы может меняться(файл рандомен)
вопрос: как это все считать из файла, если матрица у нас массив
типа matrix[i][j]
для любопытсвующих - потом я с этим буду еще Жордановы исключения проводить
но пока не могу именно считать... withstupid.gif
ну.. ежу понятно.. что свободные члены я сохраню как отдельный массив.. или их добавить к матрице? как лучше? на С++ мы только со строковыми данными работали.. а тут такое вот
PM MAIL ICQ   Вверх
Step
Дата 20.2.2003, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



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


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Elanor
Дата 20.2.2003, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.2.2003
Где: Россия, Москва - Bree, Brandyback Hall

Репутация: нет
Всего: нет



ну..хоть бы и во флоат
или в риал..
загвоздка еще в самом строении файла -
да, строку пропущу..да во второй цифру возьму как размер..
но именно как взять матрицуconfused.gif
PM MAIL ICQ   Вверх
AntonSaburov
Дата 20.2.2003, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Что значит "взять матрицу"
Создавать массив динамически. У меня даже как-то библиотека была написана для матриц.
И сложение, и умножение, и транпонирование, и обратная матрица.

И все это прекрасно работает.
PM MAIL WWW ICQ   Вверх
Fantasist
Дата 20.2.2003, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
но именно как взять матрицу



Для этого лучше всего файловый поток подходит. Типа так:

Код

ifstream is("имя файла");

double **matrix;

int n=0;

//читаем размер матрицы в n


               //выделяем память
matrix = new double*[n];
for (int i=0; i<n; ++i)
 matrix[i] = new double[n];

for (i=0; i<n; ++i)
 for (int j=0; j<n; ++j)
  is>>matrix[i][j];

              //освобождаем память




Скорее всего такой вариант ожидается от новичка. Потому как хранение матрицы в том виде в котором я привел очень неудобно и мне не нравиться совершенно.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Elanor
Дата 22.2.2003, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.2.2003
Где: Россия, Москва - Bree, Brandyback Hall

Репутация: нет
Всего: нет



да в догонку, пока эту тему не насовсем опустили:
вот к примеру..выделила я какой-то желемент аij- проделала с матрицей какую-нить фигню..
а как можно потом запретить для чтения строку i и столбец j - это какая то команда или стоит писать определенный цикл?
PM MAIL ICQ   Вверх
podval
Дата 23.2.2003, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 1
Всего: 62



Цитата
как можно потом запретить для чтения строку i и столбец j

Вставить проверку на неравенство i и j.
PM WWW ICQ   Вверх
Nastya
Дата 24.2.2003, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Цитата
а как можно потом запретить для чтения строку i и столбец j - это какая то команда или стоит писать определенный цикл?



Кому запретить?
В своей програм ме можно просто не читать имено эту строку или столбец
Если сторонним программам?
То не как. Разве что скрыть весь файл или запертить записовать в весь файл.



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Paradox
Дата 25.2.2003, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: нет
Всего: 1



A еще можно сделать не просто матрицу из эт-тов типа float а сделать ее из ол-тов структуры
{ float element
bool ReadingPermission }


--------------------
---
PM MAIL WWW   Вверх
Molnienosetz
Дата 6.3.2003, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 6.3.2003
Где: Россия, Королёв, комитетский лес

Репутация: нет
Всего: нет



AntonSaburov!
У тебя как обратную матрицу считает? У меня через рекурсию - я ждать запарился (пока посчитает).

Это сообщение отредактировал(а) Molnienosetz - 6.3.2003, 21:40
--------------------
"Вы только появились на форуме, но уже стали весьма популярны. Правда не как профессионал, а большой зазнайка."Это про меня! :) (В том смысле, что писалось не про меня.)
PM MAIL   Вверх
Leha
Дата 17.2.2005, 23:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помогите, пожалуйста, кто-нибудь решить задачу на рекурсию. Если есть благотворители пишите [email protected]. Буду очень признателен, Алексей. smile
  Вверх
Doc_d0s
Дата 19.2.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: 2
Всего: 3



Есть ф-ия fseek()дык считай перве строки и посчитай их длину, а потом поставь fseek'ом указатель в конец этих строк smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Quartz
Дата 23.10.2005, 15:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как реализовать решение системы уравнений методом Жордановых исключений???
  Вверх
Tarasik
Дата 23.10.2005, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.10.2005

Репутация: -1
Всего: нет



Doc_d0sпомоги построить функцию int quest(char mas[],int n)
возвращающую количество букв или цыфр в масивеmas[], n-где размер массива
Добавлено @ 16:54
Doc_d0s построить функцию int quest(char mas[],int n)
возвращающую количество букв или цыфр в масивеmas[], n-где размер массива
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1582 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.