Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Вывод на экран четных чисел (http://forum.oszone.net/showthread.php?t=331877)

Malvina 14-12-2017 09:50 2784283

Вывод на экран четных чисел
 
Необходимо вывести на экран четные числа, используя 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 2784289

Код:

@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 2784437

А что значит эта сточка?
Цитата:

Цитата Iska
set /a iValue = %%i %% 2 »


yurfed 15-12-2017 10:08 2784438

Цитата:

Цитата Malvina
А что значит эта сточка? »

Я туп, но догадываюсь, обычное условие.

Iska 15-12-2017 10:27 2784442

Цитата:

Цитата Malvina
А что значит эта сточка? »

Получить остаток от деления переменной цикла 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 2784464

можно еще попробовать маску 1
Код:

d:\>set /a qq="3 & 1"
1
d:\>set /a qq="4 & 1"
0


Iska 15-12-2017 15:37 2784509

Цитата:

Цитата Опиум
можно еще попробовать маску 1 »

Кстати, да.


Время: 22:57.

Время: 22:57.
© OSzone.net 2001-