C Перебор массива для отображения содержимого

#c #arrays #nested-loops #increment

#c #массивы #вложенные циклы #увеличение

Вопрос:

Я пишу цикл для просмотра 3D-массива и отображения содержимого [0][0][0] через [0][2][4]. Он отображает и работает нормально от [0] [0] [0] до [0][0][4], но после этого он переходит к [0][2][0] вместо к [0][1][0]. Я не могу понять, почему это я, если кто-нибудь может исправить мою ошибку.

a, b, c, d и e являются целочисленными переменными. в начале этого цикла я инициализировал b как 0, c как 1, d как 0 и e как 1.

 for (int a = 0; a < students;)
 {
   cout << "Let's help Student #" << e << "!" << endl;
   do 
    {
     cout << "Question #" << c << ":" << endl;
     cout << math_rooms[0][a][b] << endl;
     cin >> math_rooms[0][a][b];
     cout << " " << endl;
     
     if (math_rooms[0][a][b] != math_answers[0][a][b])
      {       
       d  ;
       //Set up the error variable so we keep track of pass/fail
       cout << "Sorry, that was incorrect." << endl;
       cin >> math_rooms[0][a][b];
       cout << " " << endl;
      }
     else
      {
       cout << "That's correct!" << endl;
       cout << " " << endl;
      }
         
     //Increment b and c to go through all questions/keep track of question #.
     b  , c  ;

     //Set up loop that checks pass_fail on final question.
     if (d >= 3)
      {
       cout << "Sorry, you failed the test." << endl;
       pass_fail = false;
       return pass_fail;
      }

    } while (b < questions);

  //restart counter
  c = 1;
  //Increment a so that it changes to the next student amp; f so that it keeps track of the student #.
  a  , e  ;
 }
 

Таким образом, по сути, цикл работает нормально, пока не увеличит переменную a. Он начинается с 0, а затем, когда он должен увеличиваться до 1, вместо этого он переходит к 2. IDK почему?

Комментарии:

1. Где вы выполняете сброс b = 0; ?

Ответ №1:

Вам необходимо сбрасывать значение b каждый раз, когда выполняется цикл for

Комментарии:

1. большое вам спасибо! Меня раздражает осознание того, что это было что-то настолько простое, что я продолжал игнорировать.