代码拉取完成,页面将自动刷新
#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);
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。