Zweidimensionaler Array

JoeBloggs

Mitglied
Hallo,

ich habe einen zweidimensionalen Array vom Typ double. In Jeden Feld ist jeweils nur eine ziffer gespeichert, d.h. wenn ich ihn durchlaufe wird eine Zahl vom Typ double aufgebaut und ausgegeben.

Gibt es eine einfache Operation mit der ich einen eindimensionalen Array bauen kann in dem jeweils die komplette Zahl vom typ touble steht und nicht jede stelle einzeln?

Ich habe:
'0' '.' '1' '2' '3'
'0' '.' '3' '4' '5'
'0' '.' '5' '6' '7'

und suche

0.123
0.345
0.567

Danke!
 
Code:
double feld[3];

// Zuweisung
feld[0] = 0.123;
feld[1] = 0.345;
feld[2] = 0.567;

Vielleicht habe ich deine Frage nicht richtig verstanden. Aber so sollte es gehen.
Es macht keinen Sinn einzelne Ziffern zu speichern.

Gruss LukeS
 
Ich glaube nicht, daß Du ein Array des Typs double[][] hast, denn darin ließe sich kein '.' speichern. Das sieht eher nach einem Array des Typs char[][] aus, in dem die einzelnen Ziffern und der Dezimalpunkt als Zeichen gespeichert sind.
Wenn du nur ein Array für double-Zahlen haben willst dann deklariere es einfach, z.B.:

Code:
double dMyArray[100];
 
Ok, das war etwas verwirrend formuliert.

Also wie jokey2 schreibt ist mein Array vom Typ Typ char[][]. Dieses Array bekomme ich aus einer umfangreichen C-File zurrückgegeben und möchte daran auch nichts ändern.

Ich will nun aus diesem
char[][]
zu
double[]
casten
 
Du könntest mit jeder Zahl im char-Array die Funktion sscanf aufrufen. Damit kannst du den double-Wert ermitteln und in eine double-Variable speichern, etwa so:

Code:
char Zeichen[3][5] = {'0','.', '1', '2', '3', '0', '.', '3', '4', '5', '0', '.', '5', '6', '7'};
double Zahlen[3];
char String[6];
int iNumCount = 3;

for(int iCounter = 0; iCounter < iNumCount; iCounter++)
{
    memset(String, 0, sizeof(String))
    strncpy(String, Zeichen[iCounter], 5);
    sscanf(String, "%f", &(Zahlen[iCounter]));
}
 
Zurück