Войти

Показать полную графическую версию : [решено] Вывод на экран четных чисел


Malvina
14-12-2017, 09:50
Необходимо вывести на экран четные числа, используя for и if.
Вот что написала, но почему-то не работает:
%Echo off
set x=0
for /l %%B in (1,1,5) do (
set /a x=%%B
set /a c=(%x%/2)*2
if /i %c%==%x% set x
)
pause

Где ошибка?

Iska
14-12-2017, 10:18
@echo off
setlocal enableextensions enabledelayedexpansion

for /l %%i in (1, 1, 5) do (
set /a iValue = %%i %% 2
if !iValue! equ 0 (
echo %%i - чётное число
) else (
echo %%i - нечётное число
)
)

endlocal
exit /b 0

Malvina
15-12-2017, 09:52
А что значит эта сточка?
set /a iValue = %%i %% 2 »

yurfed
15-12-2017, 10:08
А что значит эта сточка? »
Я туп, но догадываюсь, обычное условие.

Iska
15-12-2017, 10:27
А что значит эта сточка? »
Получить остаток от деления переменной цикла i на двойку, результат сохранить в переменной окружения iValue.

Откройте командную строку, пишите в ней поочерёдно:
set /a 0 % 2
set /a 1 % 2
set /a 2 % 2
set /a 3 % 2
set /a 4 % 2
set /a 5 % 2
set /a 6 % 2
set /a 7 % 2

нажимайте Enter и смотрите, что получается.

Опиум
15-12-2017, 12:23
можно еще попробовать маску 1
d:\>set /a qq="3 & 1"
1
d:\>set /a qq="4 & 1"
0

Iska
15-12-2017, 15:37
можно еще попробовать маску 1 »
Кстати, да.




© OSzone.net 2001-2012