Computerhilfen.de Logo
Forum
Tipps
News

ein algorithmus

Hallo Leute,

ich würde euch gerne um eure Hife bitten bei folgendem Problem:

Ich habe einen String Wert mit folgendem Eintrag:
0000
Ich will nun diesen Wert incrementel erhöhen, also :0001 0002 0003 usw.. Wenn der Wert 9999 erreicht wird, so muss daraus 10000 werden. Dasselbe gilt für 99999 usw.

Ich habe leider keine Ahnung, wie ich das lösen kann.
Ich bin noch grün hinter den Ohren und würde mich freuen, wenn ihr mir helfen könntet.

Danke im voraus

Gruß

Dirk


Antworten zu ein algorithmus:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

womit programmierst du denn?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Naja, also Inkrementaler Erhöhung von Strings ist ein verkehrter Ansatz. Da musst Du schon z.B. Integer nehmen. In (C?) C++ gibt es da eine Funktion "setfill()" die füllt mit angegebener Zahl Nullen auf.
Also z.B.

cout << setfill('0') << setw(3) << n <<endl;
füllt vor der Zahl "n" mit 3 Nullen auf.

Mario 8)

Hallo Leute,

die Prog. Sprache ist eigentlich egal. Am besten sollte es so sein, dass man das Problem in jeder Sprache lösen kann.
Momentan teste ich das mit Javascript. Danach mit Java und danach mit C#.

Gruß

Dirk

Es ist eigentlich ganz simpel, wenn man nicht vergisst, dass man nit den Zeichen genauso wie mit den Ziffern rechnen kann. Hier ist also eine kleine Skizze:

s="0000";
l=strlen(s);//laenge vom s
l=l-1;
while(l>=0) {
ch=s[l];//das laetzte Zeichen
if(ch='9' && l > 0) {
s[l]='0';
s[l-1]=1;
} else {
s[l]=ch+1;
}
l=l-1
}
Und wenn du alles mit 9 gefuellt hast, erweiterst du den Speicher fuer das Zeichenkette, berechnest l neu und machst einfach weiter.

Viel Glueck!

Oh ja,

danke. Das passt.

Gruß

Dirk


« borland turbo pascal 7.0...Schaltkreisanzeige »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!