Значения переменных, задаваемые в цикле, не читаются вне цикла - C#

Узнай цену своей работы

Формулировка задачи:

итак,суть проблемы. есть несколько вложенных циклов for, в которых в качестве счетчиков используются объявленные заранее локальные переменные. Однако при компиляции те из них, которые находятся за пределами цикла, оказываются не инициализированными. может кто-то сталкивался с подобным, подскажите что-нибудь?
                
if (S1 == 2)
{
    for (int j = 0; j < N; j++)
    {
        int i1, i2, k1, k2;
         for (i1 = 1; i1 < K; i1++)
         {
             for (i2 = i1 + 1; i2 < K + 1; i2++)
             {
                 for (k1 = 0; k1 < K; k1++)
                 {
                     for (k2 = 0; k2 < K && (q[i1, j] != qTest[k1] ||
                                    q[i2, j] != qTest[k2] || k1 == k2); k2++) ;
                     if (k2 < K) break;
                 }
 
                 if (k2 < K) break;// вот здесь \  при компиляции возникает ошибка
             }                     //          "Использование локальной переменной "k2", 
             if (k2 < K) break;    // и здесь   /   которой не присвоено значение"
 
         }
         if (i1 == K)
             for (i1 = 1; i1 < K + 1; i1++) q[i1, j] = -1;
     }
     MatrixReduce();
}

Решение задачи: «Значения переменных, задаваемые в цикле, не читаются вне цикла»

textual
Листинг программы
   for (k1 = 0; k1 < K; k1++)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы