Zahl an Zahl hängen int und double

3Cyb3r

Erfahrenes Mitglied
Hi
ich habe eine input Abfrage.
Diese liefert mir einzelne Zahlen ...
also z.B.
1
(danach)
0
(danacht)
1
___________________________
So nun möchte ich diese 3 Werte zu einem Integer von 101 zusammenfassen.

2. Habe ich dasselbe für double Werte mit immer einer Stelle vir dem ,

also z.B.
1
0
0
5
________________________________
soll 1.005 ergeben

Ich stehe voll auf dem Schlauch (obowlh ich das irgendwie schonmal gemacht hatte)
 
Ich lese das ganze in ein int Array ein.
Das gance is ein Programm für einen Taschenrechner (TI voyage 200), deswegen ist es nur möglich die Eingabe als String und einzeln zu behandeln somit schreibe ich über eine switch case Anweisung alle Zahlen in ein Array.

Der Code is ja egal!
Ich habe ein Array
int wert[10];
Die Variable i in der die Anzahl der Eignaben steht.

Code:
		for(loop = 0; loop < i; loop++)
		{
			n =    //hier brauche ich etwas das die zahloen einzeln aneinander gehangen werde   (wert[loop])
		}

wert[0] is z.B. 1
und wert[1] ist 5

das dann n = 1
2. n = 15 ist.
 
Code:
for(loop = 0; loop < i; loop++)
		{
			sprintf(buffer, "%d", wert[loop]);
			strcat (str, buffer);
			//n = wert[loop];	
		}
		
		n = atoi(str);

naja is irgendwie finde ich nicht eine glanzlösung erst int int string verwandeln und dann das ganze zurück naja es funktioniert -.-, aber wie macht man das ganze elegant(und schell)?
Über eine Pointer müsste man das ganze doch ganz einfach in eine Integer spiecher nur wie? ^^ (alle Zahlen liegen ja sortiert im Array)
 
n=0;
for(loop=0;loop<i;loop++)n=n*10+array[loop];
oder bei Ascii-Zeichen:
for(loop=0;loop<i;loop++)n=n*10+array[loop]-48;

Meinst du vielleicht das?

Pointer helfen da nicht, bei einem String
 
Zuletzt bearbeitet:
also, wenn du ein wert[10]-Array hast, könnte das vielleicht funktionieren:
C:
int zahl = 0;
for ( int loop = 0; loop < 10; loop++ )
{ zahl *= 10; zahl += wert[loop]; }

bei einem double-Wert musst du danach noch so oft durch 10 teilen, wie du Nachkommastellen hast.
 
Zuletzt bearbeitet:
Zurück