
ВОПРОС ДЛЯ ПРОГРАМИСТОВ! У меня имеется генератор чисел в файле с разрешением bat!Мне нужно чтобы
у меня при генерации чисел были исключения чисел т.е чтобы когда генерируются числа от 1 до 5 у меня не генерировалось число 4.В данном случае у меня числа от 1 до 28Мою Команду по возможности не именять!вот моя команда:@echo offecho.>key.txtset min=1set max=28set /a i=%random%%%(max-min+1)+min3if %i%==1 echo 1 >>key.txtif %i%==2 echo 2 >>key.txtif %i%==3 echo 3 >>key.txtif %i%==4 echo 4 >>key.txtif %i%==5 echo 5 >>key.txtif %i%==6 echo 6 >>key.txtif %i%==7 echo 7 >>key.txtif %i%==8 echo 8 >>key.txtif %i%==9 echo 9 >>key.txtif %i%==10 echo 10 >>key.txtif %i%==11 echo 11 >>key.txtif %i%==12 echo 12 >>key.txtif %i%==13 echo 13 >>key.txtif %i%==14 echo 14 >>key.txtif %i%==15 echo 15 >>key.txtif %i%==16 echo 16 >>key.txtif %i%==17 echo 17 >>key.txtif %i%==18 echo 18 >>key.txtif %i%==19 echo 19 >>key.txtif %i%==20 echo 20 >>key.txtif %i%==21 echo 21 >>key.txtif %i%==22 echo 22 >>key.txtif %i%==23 echo 23 >>key.txtif %i%==24 echo 24 >>key.txtif %i%==25 echo 25 >>key.txtif %i%==26 echo 26 >>key.txtif %i%==27 echo 27 >>key.txtif %i%==28 echo 28 >>key.txtmsg *Number was generated! Chek generated number in key.txtclose hfkd.txtpause>nulЗаранее спасибо! Даю 50 Баллов!

Ответы на вопрос

@echo off
echo.>key.txt
set min=1
set max=27
set /a i=%random%%%(max-min+1)+min3
if %i%==1 echo 1 >>key.txt
if %i%==2 echo 2 >>key.txt
if %i%==3 echo 3 >>key.txt
if %i%==4 goto :skip4
if %i%==5 echo 5 >>key.txt
:skip4
if %i%==6 echo 6 >>key.txt
if %i%==7 echo 7 >>key.txt
if %i%==8 echo 8 >>key.txt
if %i%==9 echo 9 >>key.txt
if %i%==10 echo 10 >>key.txt
if %i%==11 echo 11 >>key.txt
if %i%==12 echo 12 >>key.txt
if %i%==13 echo 13 >>key.txt
if %i%==14 echo 14 >>key.txt
if %i%==15 echo 15 >>key.txt
if %i%==16 echo 16 >>key.txt
if %i%==17 echo 17 >>key.txt
if %i



Вы можете достичь вашей цели более эффективным способом, используя цикл for
вместо перечисления всех возможных чисел отдельно. Вот обновленный скрипт:
batch@echo off echo. > key.txt set min=1 set max=28 :generate set /a i=%random%%%(max-min+1)+min if %i%==4 ( goto generate ) else ( echo %i% >> key.txt ) msg * Number was generated! Check generated number in key.txt close hfkd.txt pause > nul
Этот скрипт будет продолжать генерировать случайные числа в диапазоне от 1 до 28, пока не будет сгенерировано число 4. Когда число 4 будет исключено, остальные числа будут записаны в файл key.txt
, и скрипт завершится.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili