Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
#1

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

15.07.2011, 11:12. Просмотров 753. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 11:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно считать матрицу (C++):

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

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

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

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

Считать матрицу из Excel - C++
то есть мне нужна матрицу считывал в с++ помогите

Почему то не могу считать матрицу - C++
Есть матрица порядка 3638. Мне нужно найти обратную к ней. ( В последствии порядок матрицы будет около 100 000) Есть код, вот только он...

19
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
15.07.2011, 11:16 #2
если знаешь размер матрицы - добивать нулями при отсутствии данных.
если не знаешь - хз
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
15.07.2011, 11:27  [ТС] #3
Уже) вообще у матрицы порядок 3500. но я пока что код пишу тестю для порядка 3
Просто пока что не очень получается.. хотел бы чтоб наброски кода кинули
0
CAHTEXHUK
Заблокирован
15.07.2011, 11:35 #4
считать строки в вектора. Одна строка - один вектор
посчитать максимум количества элементов (vector.size())
дополнить нулями вектора, если это необходимо
записать в фаил
1
Stas0n
3 / 4 / 0
Регистрация: 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
CAHTEXHUK
Заблокирован
15.07.2011, 12:05 #6
зачем тебе посимвольное считывание. Оператор>> или getline здесь более уместны

Добавлено через 1 минуту
мой способ универсальнее будет
1
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
15.07.2011, 12:37 #7
я бы создал двумерный массив char** запихнул бы сперва все в него потом бы уже в матрицу про помощи atoi..
это если не знаешь порядок матрицы)
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
15.07.2011, 12:41  [ТС] #8
Довольно долго получится...
0
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
15.07.2011, 12:45 #9
зато просто)

написал функцию resize
потом считал все в char**
написал ф-ю определения самой длинной строки будущей матрицы
перевел все в числовой вид) и готово в принципе то)
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
15.07.2011, 12:47  [ТС] #10
Тут основной упор на время вычисления...
0
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
15.07.2011, 12:54 #11
В смысле на время действия программы? это да, если очень большая матрица будет, тут не поспоришь..
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
15.07.2011, 13:00  [ТС] #12
Вот вот. Не подскажешь - так правильно писать:
int n;
cout << n;
double array[n][n];
Просто хочу создать двумерный массив даблов...
ругается))))
0
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
15.07.2011, 13:09 #13
не динамический массив создается лишь при помощи констант, то есть
const int=3;
или в начале файла в директивах написать #define n 3
тогда можно будет написать double array[n][n];

кстати cout это вывод..
нужно писать cin..
1
Stas0n
3 / 4 / 0
Регистрация: 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
CAHTEXHUK
Заблокирован
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
15.07.2011, 13:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2011, 13:26
Привет! Вот еще темы с ответами:

Считать матрицу из текстового файла - C++
в текстовом файле дана матрица 4 9 5 5 9 2 9 2 9 как считать этот двумерный массив и вывести его на экран? подскажите плиз(c++)

Считать данные в матрицу из файла - C++
(С/С++)Как считать матрицу из файла и записать в массив. Файл содержит такой вид: 2 3 23 -4 0 -3 2 1 43

Считать матрицу в динамический массив - C++
Есть функция для статического массива, как ее переделать в динамический? в файле матрица: 4 4 4 4 4 4 4 4 4 4 4 4...

Считать матрицу с файла, не зная ее размерности - C++
Доброго времени суток. Столкнулся с проблемой, что нужно считать матрицу из файла, который имеет такую структуру 4 3 2 3 7 ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru