Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
1

Нужно считать матрицу

15.07.2011, 11:12. Показов 1147. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Тут такая проблема. У меня есть файл 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2011, 11:12
Ответы с готовыми решениями:

Нужно считать размер квадратной матрицы из файла.Размер заранне считать не известным
КУ всем.Нужна помощь,как считать из условного файла file.txt, где есть матрица, её размер, назовём...

Нужно написать пример умножения вектора на вектор, матрицу на матрицу
Нужно написать пример умножения вектора на вектор, матрицу на матрицу, умножения вектора на...

Оцените сборку пожалуйста. Нужно в основном считать считать и считать
Процессор Intel I7 8700K Вентилятор THERMALRIGHT MACHO DIRECT Материнская плата ASRock Z370 Pro...

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

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
Заблокирован
15.07.2011, 11:35 4
считать строки в вектора. Одна строка - один вектор
посчитать максимум количества элементов (vector.size())
дополнить нулями вектора, если это необходимо
записать в фаил
1
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
Заблокирован
15.07.2011, 12:05 6
зачем тебе посимвольное считывание. Оператор>> или getline здесь более уместны

Добавлено через 1 минуту
мой способ универсальнее будет
1
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 минут
C++
1
2
3
4
5
6
7
8
for ( int i = 0; i < 3; i++)
 {
 for ( int j = 0; j < 3; j++)
 {
 ofs3 << b[i][j];
 }
ofs3 << endl;
 }
про теги форматирования не забывайте
1
86 / 7 / 2
Регистрация: 04.06.2010
Сообщений: 80
15.07.2011, 13:27 16
не знаю мы в универе вектора писали сами и в конце 2 курса
а задачи типа этой решали на 1 курсе в 1 семестре
и что такое вектор тогда еще даже не слышали)
а про вектора которые уже есть в каких то библиотеках у нас было в лекциях 2 строчки)
так что подозреваю ты предлагаешь работу с вектором человеку который про это даже не слышал))
0
Заблокирован
15.07.2011, 13:30 17
это легко исправить. Новичкам проше работать с векторами, чем с указателями в большинстве случаев
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2011, 13:43
Помогаю со студенческими работами здесь

считать матрицу
Помогите пожалуйста! В файле дана такая инфа 4н 66 3 4 кк 44 9 4 4 5 нужно считать матрицу...

Быстро считать в матрицу
Здравствуйте, форумчане. Я новичок в матлабе. Хотелось бы узнать, как быстро считывать из файла...

Считать матрицу с TextBox
создала и вывела матрицу TextBox.в 1 кнопке int N = Convert.ToInt16(textBox1.Text);//задается с...

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru