Я пытаюсь разработать программу решения матриц в C++. Когда я вызываю функцию Ax_b(), она должна создать целую матрицу из строк, а затем распечатать вывод. Это работает, когда я вызываю функцию в основном, но когда у меня есть условия для функции, все, кроме работы с печатью.
Пример:
void main(){
Ax_b(); //runs fine and prints output to console
}
но...
void main(){
int x;
while(true){
cout<<"What would you like to do?"<<endl<<endl;
cout<<"1. Solve Ax=b"<<endl;
cout<<"1. Reduce a matrix to REF"<<endl;
cout<<"2. Reduce a matrix to RREF"<<endl;
cout<<"3. Find the nullspace of a matrix"<<endl;
cout<<"4. Quit"<<endl<<endl;
cin>>x;
cout<<endl;
if(x == 1)
Ax_b(); //runs function but doesn't print matrix to console
else
exit(1);
}
}
Ax_b() выглядит так:
void Ax_b(){
vector<string> strMatrix = storeStrings();
vector<vector<int>> matrix = parseMatrix(strMatrix);
printMatrix(matrix);
}
printMatrix:
void printMatrix(vector<vector<int>> matrix){
int mSize = matrix.size();
int vSize = matrix[0].size();
for(int i = 0; i < mSize; i++){
cout<<endl;
for(int j = 0; j < vSize; j++){
cout<<matrix[i][j]<<" ";
}
}
cout<<endl<<endl;
}
Это кажется таким глупым, но я не могу понять, почему это не работает, любая помощь очень ценится.
Я не могу так прокомментировать...
Мы не видим, чтобы опубликовать эту функцию printMatrix, возможно, ваша проблема существует. помните, что консоль - это поток, возможно, вам не хватает endl, чтобы заставить флеш.
printMatrix
?