7 Star 16 Fork 8

GPLme / LDPC Kit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
matIO.h 2.24 KB
一键复制 编辑 原始数据 按行查看 历史
GPLme 提交于 2020-09-04 04:12 . 正在修复求逆BUG
#pragma once
#include "matrix.h"
#include <QString>
#include <QFile>
#include <QTextStream>
class matIO
{
public:
static void assignment(double* v,std::vector<int> av)
{
for(uint i=0;i<av.size();i++)
v[i]=av[i];
}
static void assignment(double* v,std::string as,uint c)
{
for(uint i=0;i<c;i++)
v[i]=as[i]-48;
}
static void inputElm(matrix& m)
{
for(uint i=0;i<m.getr();i++)
{
for(uint j=0;j<m.getc();j++)
std::cin>>m.m[i][j];
}
}
static matrix inputMat()
{
uint r,c;
std::cout<<"r:";
std::cin>>r;
std::cout<<"c:";
std::cin>>c;
matrix m(r,c);
inputElm(m);
return m;
}
static QString ReadTXT(QString path)
{
auto PreQFile=new QFile(path);
PreQFile->open(QIODevice::ReadOnly);
QTextStream text(PreQFile);
QString concert;
concert=text.readAll();
PreQFile->close();
delete PreQFile;
return concert;
}
static void writeTXT(QString path, QString content)
{
QFile file(path);
file.open(QIODevice::WriteOnly);
file.close();
if (file.open(QIODevice::ReadWrite | QIODevice::Text))
{
QTextStream stream(&file);
stream.seek(file.size());
stream << content;
file.close();
}
}
static matrix ReadMatFile(QString path, uint r, uint c)
{
matrix m(r,c);
QString content=ReadTXT(path);
QStringList allLine=content.split('\n');
for(uint i=0;i<r;i++)
{
QString line=allLine[i];
QStringList allNum=line.split(',');
for(uint j=0;j<c;j++)
{
uint elm=allNum[j].toInt();
m.m[i][j]=elm;
}
}
return m;
}
static void saveMatFile(QString path, matrix m)
{
QString result="";
for(uint i=0;i<m.getr();i++)
{
for(uint j=0;j<m.getc();j++)
{
int val=m.m[i][j];
result+=QString::number(val)+",";
}
result+="\n";
}
writeTXT(path,result);
}
};
C++
1
https://gitee.com/sg-first/LDPC-code.git
git@gitee.com:sg-first/LDPC-code.git
sg-first
LDPC-code
LDPC Kit
master

搜索帮助