Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 12.08.2008
Сообщений: 4

Проверка условия окончания цикла for

12.08.2008, 15:38. Показов 3341. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Проблема заключается в следующем. Есть следующий цикл:
C++
1
2
3
4
5
6
for( int i=2; !((n%i||d%i)&&!(n%i&&d%i))==0 ; i++){
                       while ((n%i||d%i)==0){
                                n/=i;
                                d/=i;
                        }
}
Допустим, n и d равно 18 и 36. Как я понимаю, проверка условия должна выглядеть так:
18%2=0
36%2=0

!((0||0)&&!(0&&0))==0
!(0&&1)==0
1==0

Получаем противоречие, следовательно, цикл должен выполняться, но этого не происходит. Вот с чем это связано? Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2008, 15:38
Ответы с готовыми решениями:

Значение переменной после окончания цикла
Чему будет равно i после окончания цикла: for (i=30;i>=10;i--); тело цикла; знаю, вопрос глупый

Запомнить самую длинную строку и выдать её после окончания работы цикла ввода
2. На вход символьного фильтра подаются строки. Фильтр запоминает самую длинную строку и выдает её после окончания работы цикла ввода.

Условия остановки цикла
А как задать условие для: 1) Допустим идет цикл вычислений. Необходимо прервать вычисления при условии, что 3 последних вычислений будут...

14
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
12.08.2008, 15:53
погоди, сначала выполняются скобки, потом логическое не, т.е.:
(0||0) = 0 => !0 = 1
(0&&0) = 0 => !0 = 1
(1&&1) = 1 => !1 = 0
следовательно, 0 = 0, цикл завершен...

сорри, не досмотрел, мой баг...
0
0 / 0 / 0
Регистрация: 12.08.2008
Сообщений: 4
12.08.2008, 16:09  [ТС]
Извини, я скобки еще забыл поставить, там отрицание не от (0||0), а от (0||0)&&!(0&&0).
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 16:11
WooDooMan, там нету еще одного "не"
.
!((0||0)&&!(0&&0))==0
!((0)&&!(0))==0
!(0&&1)==0
!(0)==0
1==0
так ?
или я что упустил ?

Vang Drnkn а вообще есть такой режим, режим отладки называется - поставь брейкпоинт и посмотри как будут меняться переменные...
сможешь всё сам понять...
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
12.08.2008, 16:19
Цитата Сообщение от Vang Drnkn Посмотреть сообщение
Получаем противоречие, следовательно, цикл должен выполняться, но этого не происходит. Вот с чем это связано? Спасибо.
цикл выполняется,пока условие истинно! у вас ложно вот он и не выполняется.
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 16:29
XuTPbIu_MuHTAu
ты про какое из них ?? вроде в for окончание цикла истина
а во втором истина - исполнение цикла

но у него в цикле while (0||0) ==0
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
12.08.2008, 16:33
Цитата Сообщение от Xentar Посмотреть сообщение
XuTPbIu_MuHTAu
ты про какое из них ?? вроде в for окончание цикла истина
Code
1
 for ( int i=0;i<10;i++) cout << i;
окончание цикла при i = 10.Не пудрите мне мозги,это не истина
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 16:40
Добавлено через 2 минуты 12 секунд
.окончание цикла при i = 10.Не пудрите мне мозги,это не истина
извини - туплю
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
12.08.2008, 16:44
Я вообще не понимаю,что у него там этим условием сказано
!((n%i||d%i)&&!(n%i&&d%i)) == 0.
то,что в скобках,большое и страшное :
(n%i||d%i)&&!(n%i&&d%i) это A&&!A т.е 0
получаем в целом цикл
for(int i=2; 1==0;i++) ...
И с чего ему вообще запускаться?
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 16:48
И с чего ему вообще запускаться?
я думал что цикл пока условие не тру идет...
как WooDooMan написал ))
/whisp у него написано что он знает С++ ))))))
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
12.08.2008, 16:50
Это полбеды,самое забавное,что условие в скобках от i не зависит. Либо бесконечный цикл,либо вообще его нет.
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 16:53
Ну в принципе я тоже так понял что там бесконечный цикл ...
но т.к. там false - то естественно он не выполняется
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
12.08.2008, 17:12
Xentar , ну ладно уже, ошибся, с кем не бывает...
0
Of Wolf and Man
 Аватар для Xentar
999 / 198 / 5
Регистрация: 09.07.2008
Сообщений: 1,784
12.08.2008, 17:18
Лучший ответ Сообщение было отмечено как решение

Решение

)) все ошибаются ))
я тоже ошибался )))
0
0 / 0 / 0
Регистрация: 12.08.2008
Сообщений: 4
12.08.2008, 18:01  [ТС]
Спасибо) Получается я сам себя обманул.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2008, 18:01
Помогаю со студенческими работами здесь

Условия цикла в функции
int reverse_number(int number) { int n = 0; while(number) { n = 10*n + number%10; number /= 10; ...

Оптимизация условия цикла while
Доброго времени суток, друзья! Я еще совсем новичок в С++. Подскажите плз как оптимизировать следующее условие выхода из цикла while. Уж...

Условия цикла for, числа double
День добрый. Решал недавно задачку с одного сайта, задачка простая была, но после решения и подглядывания решения от авторов наткнулся на...

Завершение внешнего цикла из внутреннего условия
Подскажите, как в функции set() завершить цикл for при выполнении условия цикла if? Компилятор выдает ошибку и если я правильно понял то...

При выполнении условия не выходит из цикла
При выполнении условия не выходит из цикла а продолжается и выходит за границы #include &lt;iostream&gt; #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru