Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 6

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

22.04.2013, 03:53. Показов 5770. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
итак,суть проблемы.
есть несколько вложенных циклов for, в которых в качестве счетчиков используются объявленные заранее локальные переменные. Однако при компиляции те из них, которые находятся за пределами цикла, оказываются не инициализированными.
может кто-то сталкивался с подобным, подскажите что-нибудь?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
                
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();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2013, 03:53
Ответы с готовыми решениями:

Область видимости. Не могу вызвать переменную вне цикла For, т.е. вывести в цикле могу, а вне цикла нет. Почему?
Привет, не могу вызвать переменную вне цикла for, тоесть вывести в цикле могу, а вне цикла нет почему? переменная a1 выводится как надо,...

В каком месте использовать конструктор - вне цикла или в цикле?
Добрый день! Как писать правильнее? Ниже два примера: QStringList data; foreach(const QString &amp;category, categories) { ...

Как сделать переменную, инициализированную в цикле for, досупную вне этого цикла?
Здравствуйте. Подскажите как сделать чтобы переменная которая была инициализированна в цикле for была доступна в дальнейшем. например ...

4
16 / 16 / 4
Регистрация: 01.03.2013
Сообщений: 139
Записей в блоге: 1
22.04.2013, 05:14
Если я не ошибаюсь, то переменные нужно объявить вне цикла, то есть вначале.
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
22.04.2013, 05:51
Exten, больше кода. Я здесь не вижу где вы объявляете
переменные. И вообще переменные нужно инцилизировать при объявление.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
22.04.2013, 08:03
Все правильно компилятор ругается:
Представьте что вот этот цикл:
C#
11
   for (k1 = 0; k1 < K; k1++)
ни разу не выполнится.
Тогда не выполнится и вложенный цикл, и переменная k2 окажется не инициализированной.
Если такая ситуация не возможна - просто поставьте значения по умолчанию для всех переменных, на которые ругается компилятор.
1
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 6
22.04.2013, 10:45  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
просто поставьте значения по умолчанию для всех переменных, на которые ругается компилятор
благодарю, этот вариант работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2013, 10:45
Помогаю со студенческими работами здесь

Использование значения переменной вне цикла
Есть определённый код: int x = 0; int min = arrDif; for (; x &lt;= num_2 - 1; x++) { if (arrDif &lt; min) { min = arrDif;...

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

Цикл присвоения переменной значений выражений, содержащих значения других задаваемых в этом цикле переменных
Добрый вечер, уважаемые камрады! Помогите решить следующую проблему: Нужно предоставлять отчетность по активным учетным записям...

После первого цикла значения переменных в остальных не меняются и берутся больше допустимого
Помогите понять что не так. После первого цикла значения переменных в остальных не меняются и берутся больше допустимого #include...

Вычислить сумму кодов всех символов, которые в цикле читаются из файла. Результат записать в выходной файл
как сделать цикл? с getc и putc. не знаю как правильно написать. FILE *one,*two; char n; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru