1+2=12 Wie geht das?
-
Hallo!
Ich habe ein Problem, und zwar möchte ich, dass aus "1+2" "12" wird.
Dazu habe ich ein Integer-Array "test[]" mit
aTest[0] = 1
aTest[1] = 2Nun möchte ich, dass in den Integer "iErg" die beiden Feldelement so zusammen gesetzt werden, dass iErg = 12 ist.
Kann mir bitter jemand weiterhelfen?
Danke!
-
erg = aTest[0] * 10 + aTest[1];
HTH
-
Möchtest du das als Zahl haben?
Wenn ja dann musst du dir überlegen, dass du erst einmal die Anzahl der Ziffern
benötigst, in deinem Falle wären das 2, somit weiß du es gibt 2er und nen Zehner.
Ich würde von hinten Anfangen:int array[2]; int laenge = 2; // Hier wird die Länge von deinem Array gespeichert int ergebnis; array[0] = 1; array[1] = 2; for (int i = laenge-1, int zaehler = 0; i => 0; i--, zaehler++) { ergebnis += array[i] * zaehler^10 // weiß grad nimmer wie man Potenzen schreibt in C }
so solltest du 12 erhalten, da im ersten durchlauf auf die 2zeigst und 2 * zaehler^10 = 2 (zaehler ist hier ja 0 wodurch 1 rauskommt)
ist, im zweiten durchlauf zeigt er auf die 0, das erste Element, welches durch
1 * zaehler^10 = 10 ergibt, da 1^10 ja 10 sind.
Und das ganze hinzuaddiert.Edit:
Mist bashar war schneller
-
Danke für die schnelle Hilfe!
Gruß,
Alex
-
Wenn du das ganze als char* hast kannst du auch die funktion atoi() nutzen. man lese HIER
-
@SirLant:
Für Potenzen kann man imho doch die Funktion pow(x,exp) nehmen, oder ???
gibt's einen eigenen Operator für Potenzen???Ich glaub net...Höchstens, wenn man shiften als Potenz-Operator auffasst, aber geht ja dann nur mit 2.
Gruß
E-the-Real
-
^ ist XOR ... Kein Potenzoperator.
-
In meinem Beispiel war es die Schreibweise für Potenzen, wusste grad nimma
wie die Potenzen gingen, deshalb ja auch der Kommentar.