Trier une variable (chiffre) croissant ?
L'enfantPerdu
-
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
J''ai une variable (chiffre) que je veut trier ordre croissant (ex: 1598753 devient 1355789). Comment faire ?
Voici le bout de code que j'ai commencé:
:debut
cls
echo.
echo Rentre une serie de chiffre:
echo.
set /p "serie_de_chiffre=> "
echo %serie_de_chiffre%|findstr /r "[^0-9]" > nul
IF ERRORLEVEL 1 goto suite
IF NOT ERRORLEVEL 1 goto faux_1
:faux_1
echo.
echo Une serie de chiffre!
timeout /t 3 >nul
goto debut
:suite
cls
echo.
echo Ta serie de chiffre est donc:
echo.
echo %serie_de_chiffre%
echo.
echo.
echo [OUI]
echo [NON]
echo.
set /p "serie_de_chiffre?=> "
if /i %serie_de_chiffre?%==oui goto continu
if /i %serie_de_chiffre?%==non goto debut
echo.
echo Pas comprit..
timeout /t 3 >nul
goto suite
:continu
cls
echo.
echo SERIE DE CHIFFRE:
echo.
echo %serie_de_chiffre%
echo.
echo.
echo TRIER:
echo.
-------------------------------------------------------------------------------------
CODE POUR TRIER LA VARIABLE
-------------------------------------------------------------------------------------
echo %serie_de_chiffre%
pause>nul
Voici le bout de code que j'ai commencé:
:debut
cls
echo.
echo Rentre une serie de chiffre:
echo.
set /p "serie_de_chiffre=> "
echo %serie_de_chiffre%|findstr /r "[^0-9]" > nul
IF ERRORLEVEL 1 goto suite
IF NOT ERRORLEVEL 1 goto faux_1
:faux_1
echo.
echo Une serie de chiffre!
timeout /t 3 >nul
goto debut
:suite
cls
echo.
echo Ta serie de chiffre est donc:
echo.
echo %serie_de_chiffre%
echo.
echo.
echo [OUI]
echo [NON]
echo.
set /p "serie_de_chiffre?=> "
if /i %serie_de_chiffre?%==oui goto continu
if /i %serie_de_chiffre?%==non goto debut
echo.
echo Pas comprit..
timeout /t 3 >nul
goto suite
:continu
cls
echo.
echo SERIE DE CHIFFRE:
echo.
echo %serie_de_chiffre%
echo.
echo.
echo TRIER:
echo.
-------------------------------------------------------------------------------------
CODE POUR TRIER LA VARIABLE
-------------------------------------------------------------------------------------
echo %serie_de_chiffre%
pause>nul
A voir également:
- Trier une variable (chiffre) croissant ?
- Excel trier par ordre croissant chiffre - Guide
- Clavier iphone chiffre et lettre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Chiffre en lettre - Télécharger - Outils professionnels
- Logiciel pour trier les photos automatiquement - Guide
1 réponse
Bonsoir,
Voilà la solution :
Voilà la solution :
@echo off & Setlocal EnableDelayedExpansion
set chaine=192634355673879
echo La serie de chiffres a trier : %chaine%
echo. & color 0A
set /a zero=0
set /a une=0
set /a deux=0
set /a trois=0
set /a quatre=0
set /a cinq=0
set /a six=0
set /a sept=0
set /a huit=0
set /a neuf=0
for /L %%A in (0,1,1000) do (
set nombre=!chaine:~%%A,1!
if "!nombre!" == "" goto suite
if "!nombre!" == "0" set /a zero+=1
if "!nombre!" == "1" set /a une+=1
if "!nombre!" == "2" set /a deux+=1
if "!nombre!" == "3" set /a trois+=1
if "!nombre!" == "4" set /a quatre+=1
if "!nombre!" == "5" set /a cinq+=1
if "!nombre!" == "6" set /a six+=1
if "!nombre!" == "7" set /a sept+=1
if "!nombre!" == "8" set /a huit+=1
if "!nombre!" == "9" set /a neuf+=1
)
:suite
set zero=!zero!0
set une=!une!1
set deux=!deux!2
set trois=!trois!3
set quatre=!quatre!4
set cinq=!cinq!5
set six=!six!6
set sept=!sept!7
set huit=!huit!8
set neuf=!neuf!9
for %%D in (!zero! !une! !deux! !trois! !quatre! !cinq! !six! !sept! !huit! !neuf!) do (
set carac=%%D
set /a chiffre=!carac:~-1!
if !carac! GEQ 100 (set /a repet=!carac:~0,2!) else (set /a repet=!carac:~0,1!)
echo Le chiffre !chiffre! est present !repet! fois
if "!repet!"=="0" (set /a repet=1 & set chiffre=)
for /L %%B in (1,1,!repet!) do (
set result=!result!!chiffre!
)
)
echo.
echo Voila le resultat : !result!
echo. & echo.
Endlocal
pause
exit