Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

sicher für Profis ein leichtes, aber ich kriegs nicht hin:

Ich möchte von 9999999999999999 auf 0000000000000000 runterzählen und in eine Datei forschreiben lassen. Also in der Datei soll stehen:

9999999999999999

9999999999999998

9999999999999997

....

0000000000000001

0000000000000000

Wie geht das?

Danke!

Geschrieben

Das ist nicht ganz so trivial wie es aussieht. Meine Lösung wäre:

echo off

cls

if exist ergebnis.log del /f /q ergebnis.log

set a=9

set b=9

set c=9

set d=9

set e=9

set f=9

set g=9

set h=9

set i=9

set j=9

set k=9

set l=9

set m=9

set n=9

set o=9

set p=10

:start

if %p%==0 set /a o=%o%-1 & set p=10

if %p%%o%==10-1 set /a n=%n%-1 & set o=9

if %p%%o%%n%==109-1 set /a m=%m%-1 & set n=9

if %p%%o%%n%%m%==1099-1 set /a l=%l%-1 & set m=9

if %p%%o%%n%%m%%l%==10999-1 set /a k=%k%-1 & set l=9

if %p%%o%%n%%m%%l%%k%==109999-1 set /a j=%j%-1 & set k=9

if %p%%o%%n%%m%%l%%k%%j%==1099999-1 set /a i=%i%-1 & set j=9

if %p%%o%%n%%m%%l%%k%%j%%i%==10999999-1 set /a h=%h%-1 & set i=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%==109999999-1 set /a g=%g%-1 & set h=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%==1099999999-1 set /a f=%f%-1 & set g=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%==10999999999-1 set /a e=%e%-1 & set f=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%%e%==109999999999-1 set /a d=%d%-1 & set e=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%%e%%d%==1099999999999-1 set /a c=%c%-1 & set d=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%%e%%d%%c%==10999999999999-1 set /a b=%b%-1 & set c=9

if %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%%e%%d%%c%%b%==109999999999999-1 set /a a=%a%-1 & set b=9

If %p%%o%%n%%m%%l%%k%%j%%i%%h%%g%%f%%e%%d%%c%%b%%a%==1099999999999999-1 goto exit

set /a p=%p%-1

echo %a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p%>> ergebnis.log

goto start

Die Datei ergebnis.log wäre dann die ergebnis-Datei.

Geschrieben

Cool, geht. Danke - nur leider etwas langsam....

Schaffe gerade mal 10000 Ziffern in 4 Minuten (bei nem 3 Ghz Quad).

Kann man das beschleunigen? Ggf. andere Programmiersprache?

Geschrieben

Kann man das beschleunigen? Ggf. andere Programmiersprache?

Das kann auch daherkommen, dass die Eingabeaufforderung einfach riesigen Strom an Daten nicht schnell genug darstellen kann.

Was willst du denn damit erreichen? Für einen Timer kannst du die Ausgabe auch entfernen.

Geschrieben

Teste mal das:

CLS

@ECHO OFF


SET /a COUNT=99999



:START


ECHO.

ECHO Count = %COUNT%


SET /a COUNT=%COUNT%-1

IF %COUNT% EQU 1 GOTO :END

GOTO :START



:END

ECHO.

ECHO Count %COUNT%


ECHO.

PAUSE

EXIT

VBScript währe sicher auch kein Problem, nur hättest du das mit der anderen Programmiersprache dann eingangs erwähnen können... (Batch - 16 Zeichen runterzählen)

Gruss,

tester2k5

Geschrieben

er wollte 16 zeichen. Deine Lösung kann 16 zeichen aber nicht verarbeiten, da ab der 10. Ziffer schluß ist ;)

Ausserdem soll am ende 16 nullen stehen... Nur so als Hinweis.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...