4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115

Выход из бесконечного цикла, не выходя из него

21.02.2019, 17:13. Показов 5054. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня появился такой вопрос:
Я написал бесконечный цикл, но проблема в том, что код, написанный после него не выполняется. Как не выходя из цикла выполнить этот код?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2019, 17:13
Ответы с готовыми решениями:

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

Выход из бесконечного цикла
Сегодня как дурачок создаю сотую тему, но все же прошу помощи. Есть программа, которая решает вот эту задачу . Столкнулся с такой...

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

13
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
21.02.2019, 17:34
в такой ситуации, запустить в отдельном потоке... а зачем такое вообще понадобилось?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.02.2019, 18:11
Цитата Сообщение от Clordrin Посмотреть сообщение
Как не выходя из цикла выполнить этот код?
Вынести код в отдельный метод и вызывать его из цикла.
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
22.02.2019, 12:12  [ТС]
Не работает. Можете привести пример? Возможно, я что-то неверно сделал.
0
Эксперт .NET
 Аватар для Usaga
14321 / 9411 / 1356
Регистрация: 21.01.2016
Сообщений: 35,481
22.02.2019, 12:30
Цитата Сообщение от Clordrin Посмотреть сообщение
Не работает.
Что не работает? Неизвестно какое решение? Приведите код, который у вас не работает.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
22.02.2019, 13:04
Цитата Сообщение от Clordrin Посмотреть сообщение
Можете привести пример?
1.
Цитата Сообщение от Diamante Посмотреть сообщение
запустить в отдельном потоке
1.1 С использованием потока
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            bool work = true;
            Thread t = new Thread(() =>
            {
                while (work)
                {
                    Делаем что то в цикле
                }
            });
            t.Start();
 
            //Делаем что то в основном потоке 
 
            work = false; // Завершаем цикл
1.2 С использованием асинхронности
C#
1
2
3
4
5
6
7
8
9
10
11
            bool work = true;
            Task.Run(() => { 
                while (work)
                {
                    //Делаем что то в цикле
                }
            });
 
            //Делаем что то в основном потоке 
 
            work = false; // Завершаем цикл
2.
Цитата Сообщение от kolorotur Посмотреть сообщение
Вынести код в отдельный метод и вызывать его из цикла.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        static bool isRunning = false; // Без этой переменной метод будет выполняться каждую итерацию цикла
        static void Foo()
        {
            //Делаем что то
            isRunning = true;
        }
        static void Main(string[] args)
        {
            while (true)
            {
                if (!isRunning)
                    Foo();
                // Делаем что то в цикле
            }
        }
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
22.02.2019, 17:52  [ТС]
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
28
29
30
31
string num = Environment.UserName;
 
             bool tryAgain = true;
             while (tryAgain)
             {
                 try
                 {
                     for (;;)
 
                     {
                         for (int i = 2; i < 6; i++)
                         {
 
 
 
 
 
                             File.WriteAllText(@"C:\Users\" + num + @"\Desktop\" + i + @"test.txt", "11000000000111111111111111111000000011000000000111111" +
                                                                                                   "11111111111100000000011000000000111111111111111111000000000001100000000" +
                                                                                                   "011111111111111111100110000000001111111111111" +
                                                                                                   "11000000000111111111111111111000000000111110000000000000000");
 
                         } 
 
                     }
                 }
                 catch
                 {
 
                 }
             }
Вот мой код. После него нельзя ничего добавлять, хотя мне это очень нужно.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
22.02.2019, 18:29
Цитата Сообщение от Clordrin Посмотреть сообщение
хотя мне это очень нужно
Вам 3 варианта написали как можно сделать...

Цитата Сообщение от Clordrin Посмотреть сообщение
C#
1
2
3
4
5
6
7
while (tryAgain) 
{ 
    try 
    { 
        for (;;) 
        { 
            for (int i = 2; i < 6; i++)
Это шедеврально! ))) Стесняюсь спросить, а зачем у Вас один бесконечный цикл вложен в другой? )))
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
22.02.2019, 21:17
Цитата Сообщение от asn31337 Посмотреть сообщение
зачем у Вас один бесконечный цикл вложен в другой? )))
чтоб наверняка был бесконечный
1
Эксперт .NET
 Аватар для Usaga
14321 / 9411 / 1356
Регистрация: 21.01.2016
Сообщений: 35,481
23.02.2019, 05:29
Ага, ещё и перехват исключений, чтобы бесконечность цикла не пошатнулась))

Clordrin, вы нормальным языком можете объяснить, что хотите сделать? Сейчас звучит как "нарисовать циркулем красный квадрат зелёного цвета". Больше похоже (но это не точно, просто догадка), что вам код в разных потоках исполнять надо. Это так?
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
23.02.2019, 16:41  [ТС]
Хорошо. Постараюсь объяснить по-другому. Смотрите, у меня есть бесконечный цикл. Также, у меня есть какой-то код ПОД этим циклом. Но вся проблема в том, что этот код не будет выполняться, так как до него дело не дойдет, ведь цикл бесконечен. Вот я и задаюсь вопросом: как сделать так, чтобы цикл не прекращал работы, а код, который ПОД ним выполнялся.

Добавлено через 5 минут
Цитата Сообщение от asn31337 Посмотреть сообщение
Стесняюсь спросить, а зачем у Вас один бесконечный цикл вложен в другой?
Цикл for(int......) не бесконечен. Он лишь создает несколько файлов. Цикл for(; бесконечный, но при попытке удалить эти создающиеся файлы, может прерваться цикл. Дальше while и try. Они перехватывают эти ошибки, так, чтобы файлы было просто невозможно удалить. Попробуйте убрать какой-то из циклов и у себя протестировать эту программу, попытайтесь удалить файлы. У вас это выйдет. Но если вернуть все как есть, это невозможно, пока прога рабоатет.
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
23.02.2019, 16:46
Clordrin, цель какая? бесконечно создавать файлы?
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
24.02.2019, 13:35  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
цель какая? бесконечно создавать файлы?
Нет, целью является написание кода после бесконечного цикла.
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
24.02.2019, 13:49
Clordrin, Ответ уже есть, даже несколько.
Цитата Сообщение от Diamante Посмотреть сообщение
запустить в отдельном потоке
Цитата Сообщение от kolorotur Посмотреть сообщение
Вынести код в отдельный метод и вызывать его из цикла
Еще один вариант с потоком, для разнообразия:

C#
1
2
3
4
5
void DoShit()
{
    while(true)
        // Делаете что Вам нужно
}
C#
1
2
3
4
5
Thread thrd = new Thread(DoShit);
thrd.IsBackground = true;
thrd.Start();
 
// Остальной код основного потока
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2019, 13:49
Помогаю со студенческими работами здесь

Выход из бесконечного цикла
Реально ли сделать выход из цикла без команды ввода? Допустим идет бесконечный цикл и в любой момент я нажимаю ENTER и цикл прекращается. ...

Выход из бесконечного цикла
Здравствуйте Посмотрите вот такой интересный код s := 1; i := 1; repeat s := s/2; inc(i); writeln( i:2,' ',s,'...

Выход из бесконечного цикла
Как выйти из этого цикла при условии, что сгенерируется значение FAFZYMA2 while(true) ...

Выход из бесконечного цикла программно
Всем привет! Хочу сделать прогу дни рождения. Так вот вопрос такой подскажите как выходить из бесконечного цикла? Я взял форму и добавил...

Организовать выход из бесконечного цикла
Ув. знатоки ассемблера. Сдаю лаб-ру, препод спрашивает, что если контроллер кл-ры накрылся, и как выйти из цикла. Вот сам код. IN AL 64H ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru