3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
1 | |
Нужно считать матрицу15.07.2011, 11:12. Показов 1151. Ответов 19
Метки нет (Все метки)
Доброго времени суток!
Тут такая проблема. У меня есть файл txt, в котором коэффициенты матрицы расположены так: 1 4 2 1 3 6 1 5 3 2 234 5 Мне же надо записать в файл, но уже в таком виде: 1 4 0 0 0 0 2 1 3 6 0 0 1 5 3 2 234 5 Как это можно реализовать?
0
|
15.07.2011, 11:12 | |
Ответы с готовыми решениями:
19
Нужно считать размер квадратной матрицы из файла.Размер заранне считать не известным Нужно написать пример умножения вектора на вектор, матрицу на матрицу Оцените сборку пожалуйста. Нужно в основном считать считать и считать Разработать программу,котораядолжна считать с клавиатуры или файла матрицу,вектор,многочлен и транспонировать матрицу "на месте". |
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
|
|
15.07.2011, 11:16 | 2 |
если знаешь размер матрицы - добивать нулями при отсутствии данных.
если не знаешь - хз
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 11:27 [ТС] | 3 |
Уже) вообще у матрицы порядок 3500. но я пока что код пишу тестю для порядка 3
Просто пока что не очень получается.. хотел бы чтоб наброски кода кинули
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 11:39 [ТС] | 5 |
Долго получается.. я сразу - считываю из одного и записываю в другой файл
Вот мой код: ifstream fin2 ("2.txt"); ofstream ofs3 ("3.txt"); char b; int order = 3; // порядок матирцы int n=0; while (!fin2.eof()) { b = fin2.get(); if (fin2.eof()) break; if ( b == ' ' ){ ofs3 << b << " "; n++;} if ( b == '\n' ) { for ( int i=0; i < order*2 - n; i++ ) { ofs3 << "0 "; } ofs3 << endl; } } Вот только что-то он не выводит нечего...
0
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 12:37 | 7 |
я бы создал двумерный массив char** запихнул бы сперва все в него потом бы уже в матрицу про помощи atoi..
это если не знаешь порядок матрицы)
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 12:41 [ТС] | 8 |
Довольно долго получится...
0
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 12:45 | 9 |
зато просто)
написал функцию resize потом считал все в char** написал ф-ю определения самой длинной строки будущей матрицы перевел все в числовой вид) и готово в принципе то)
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 12:47 [ТС] | 10 |
Тут основной упор на время вычисления...
0
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 12:54 | 11 |
В смысле на время действия программы? это да, если очень большая матрица будет, тут не поспоришь..
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 13:00 [ТС] | 12 |
Вот вот. Не подскажешь - так правильно писать:
int n; cout << n; double array[n][n]; Просто хочу создать двумерный массив даблов... ругается))))
0
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 13:09 | 13 |
не динамический массив создается лишь при помощи констант, то есть
const int=3; или в начале файла в директивах написать #define n 3 тогда можно будет написать double array[n][n]; кстати cout это вывод.. нужно писать cin..
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
15.07.2011, 13:15 [ТС] | 14 |
В чем тут ошибка? Просто хочу вывести матрицу в квадратном виде:
ofstream ofs3("3.txt"); for ( int i = 0; i < 3; i++) { for ( int j = 0; j < 3; j++) { if ( j == 3 ) { ofs3 << b[i][j] << "\n" << endl; } else { ofs3 << b[i][j] << " "; } } } выводит в строчку...(
0
|
Заблокирован
|
||||||
15.07.2011, 13:26 | 15 | |||||
а дважды объявлена.
Добавлено через 1 минуту в файловых потоках никакого char** и atoi не надо. Там есть форматированный ввод-вывод, который я уже предлагал Добавлено через 6 минут
1
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 13:27 | 16 |
не знаю мы в универе вектора писали сами и в конце 2 курса
а задачи типа этой решали на 1 курсе в 1 семестре и что такое вектор тогда еще даже не слышали) а про вектора которые уже есть в каких то библиотеках у нас было в лекциях 2 строчки) так что подозреваю ты предлагаешь работу с вектором человеку который про это даже не слышал))
0
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 13:33 | 18 |
что представляет собой вектор ? мне кажется я чего то путаю..
это класс где хотя бы есть поля: массив чего то и его размер?)
0
|
Заблокирован
|
|
15.07.2011, 13:40 | 19 |
тут вобще то другой вопрос обсуждается,
http://www.cplusplus.com/reference/stl/vector/ размер и ёмкость он содержит
1
|
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
|
|
15.07.2011, 13:43 | 20 |
ну да) мой способ проще твой быстрее) пусть выбирает чего ему удобнее)
0
|
15.07.2011, 13:43 | |
15.07.2011, 13:43 | |
Помогаю со студенческими работами здесь
20
считать матрицу Быстро считать в матрицу Считать матрицу с TextBox считать матрицу с файла Считать матрицу из файла Считать матрицу из файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |