我制作了一个程序,该程序采用这样的字符串[11 15 12 18;5 5 18 11;3 16 19 8;16 3 5 0]
,它代表一个矩阵,每个半冒号都位于行的末尾,所以我所做的就是将数字放入2d数组中,然后对
我需要它是一个动态数组,这是一个3 * 3数组,所以我该怎么做
我应该将其设为2D数组,最多可容纳100 * 100
string str1,str2;
string x;
string s1 = "[1 -2.5 3;4 5.25 6;7 8 9.12]";
string s2 = "[3 4.2 10.2;12 -1 0;67 2 13]";
string ns ;
float matrix1 [3][3];
float matrix2 [3][3];
float matrixsum [3][3];
string cutter(string &s) {
s.erase(remove(s.begin(), s.end(), '['), s.end());
s.erase(remove(s.begin(), s.end(), ']'), s.end());
replace(s.begin(), s.end(), ';', ' ');
ns = s;
return s;
}
void splitter(string x,float matrix[3][3]){
stringstream os(x);
string temp;
for (int i=0;i<3;i++){
for (int j=0;j<3;j++){
if(os >> temp){
matrix [i][j] = atof(temp.c_str()) ;
}
}
}
}
void showmatrix(float m[3][3]){
cout <<"[" ;
for (int i=0;i<3;i++){
for (int j=0;j<3;j++){
cout << m[i][j];
if(j != 2){
cout<< " " ;
}
}
if(i != 2){
cout << ";";
}
}
cout << "]";
}
int main()
{
return 0;
}
答案 0 :(得分:0)
将矩阵表示为vector<vector<float>>
。