функция печати подавлена в C ++

0

Я пытаюсь разработать программу решения матриц в 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;

}

Это кажется таким глупым, но я не могу понять, почему это не работает, любая помощь очень ценится.

  • 0
    Где находится код printMatrix ?
  • 0
    @pranitkothari добавил.
Показать ещё 9 комментариев
Теги:
printing

2 ответа

0

Я не могу так прокомментировать...

  1. Вы пытались напечатать что-то вне петель, но в функции?
  2. Может быть, если вы это сделали, если (cond) с {} что-то может измениться.
  3. Смотри на эти циклы! Я однажды сделал некоторое время (cond) с; перед {}. Это было не весело. Ни один из кода внутри не работал, пока я не удалил.;
0

Мы не видим, чтобы опубликовать эту функцию printMatrix, возможно, ваша проблема существует. помните, что консоль - это поток, возможно, вам не хватает endl, чтобы заставить флеш.

  • 0
    добавлен код printMatrix.
  • 0
    Вы проверили, создана ли матрица с помощью gdb или эквивалентного отладчика?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню