Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Цитата:
К примеру я чуть выше в переменную "а" запишу некое значение, например set a=8. И по этому значению и надо присвоить значение переменной "b"
А причём тут цикл? Или зачем что-то проверять? Переменная b согласно предложенной мной формуле, однозначно соответствует а.
Код: Выделить весь код
@Echo Off
cls

Set /A a=8
Set /A b=%a%+4-((%a%-1)/3)*3

Echo %a%  %b%
pause
Зачем программировать то, что решается аналитически? Я придумал для Вас формулу, т е решил задачу в аналитическом виде. Зачем накручивать циклы или ифы?
Или я что-то не догоняю в постановке задачи?
Кстати, для числовых данных я Вам настоятельно советую писать не, например set a=8, а например set /A a=8
Это избавит Вас от возможных ошибок типа определения переменной с концевыми пробелами, если они случайно присутствуют.
Если не нужно, но очень хочется, вот и цикл с условиями
Код: Выделить весь код
@Echo Off
cls

Set /A a=8

SetLocal EnableExtensions EnableDelayedExpansion
Set /A b=4
FOR /L %%i IN (1,1,%a%) DO (
	Set /A b+=1
	If !b! EQU 8 Set /A b=5
	If %%i EQU %a% GoTo :Continue
)
:Continue

Echo %a%  %b%
pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-07-2016 в 20:23.


Отправлено: 19:36, 08-07-2016 | #6