Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » 2-Dim-Feld

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.10.2004, 13:08 Uhr
Mr. T



Hallo, Leute!

Sagt mal, ist das sinnvoll? Oder gibt´s da noch was schöneres?


C++:
void A()
{
...
for(int i=0;i<1024;i++)
    {
...
...//Ab hier bekomme ich immer genau 8 Werte übergeben (char Gelesen[8]), und das 1024
...//mal. Ich möchte alle speichern, weil diese 8 "Gelesen" dann wieder überschrieben
...//werden. Dann:

        Alle[i][0] = Gelesen[0];
        Alle[i][1] = Gelesen[1];
        Alle[i][2] = Gelesen[2];
        Alle[i][3] = Gelesen[3];
        Alle[i][4] = Gelesen[4];
        Alle[i][5] = Gelesen[5];
        Alle[i][6] = Gelesen[6];
        Alle[i][7] = Gelesen[7];
    }

    Ausgabe(Alle);
}
...
...
void Ausgabe(char Alle[1024][8])
{
             double x;
    for(int i=0;i<1024;i++)
    {
        cout<<Alle[i][0];
        cout<<Alle[i][1];
        cout<<Alle[i][2];
        cout<<Alle[i][3];
        cout<<Alle[i][4];
        cout<<Alle[i][5];
        cout<<Alle[i][6];
        cout<<Alle[i][7];
        cout<<endl;
    }
}



--
So ist das!

Dieser Post wurde am 27.10.2004 um 13:09 Uhr von Mr. T editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.10.2004, 14:05 Uhr
ao

(Operator)


Zwei geschachtelte Schleifen?

C++:
for(int i=0;i<1024;i++)
    {
        for (int j = 0; j < 8; j++)
        {
            Alle[i][j] = Gelesen[j];
        }
    }

    Ausgabe(Alle); // Ist das hier richtig? Bei jedem Schleifendurchlauf das ganze Feld ausgeben?
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.10.2004, 14:38 Uhr
Mr. T



Ja, schon dann alle ausgeben. Aber erst nach der äusseren for(;;) Schleife. Danke!!

Bringt das was für die Laufzeit, es so zu schachteln?

Sorry, als beginner frage ich mich noch solche Sachen (ich finde das aber auch noch zu unübersichtlich mit 2 Schleifen) ...

Aber sowas mit einem 2-Dim anzugehen ist oke? Oder ist was anderes besser?

Noch was:

wenn ich z.B.:

double x = 239.234;

habe, wie packe ich diese Zahl sinnvoll und gebe sie als Sedezimales char aus?

so:

cout<<(char)x<<endl;

bekomme ich letztlich nur eine Ganzzahl...
--
So ist das!

Dieser Post wurde am 27.10.2004 um 14:46 Uhr von Mr. T editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.10.2004, 23:01 Uhr
Hans
Library Walker
(Operator)



Zitat von Mr. T:

Noch was:

wenn ich z.B.:

double x = 239.234;

habe, wie packe ich diese Zahl sinnvoll und gebe sie als Sedezimales char aus?

so:

cout<<(char)x<<endl;

bekomme ich letztlich nur eine Ganzzahl...



Hi,

ich weis jetzt zwar nicht genau, was Du in diesem Zusammenhang unter "packen" verstehst, aber wenn ich Dich ansonsten richtig verstehe, willst Du die hexadezimale Darstellung jener Bytes haben, die die double-zahl im Speicher repräsentieren, richtig?
Wenn ja, das hatten wir doch kürzlich schon mal mit int-zahlen; (- dabei sind wir dann auf die Endianproblematik gegekommen. )
Also mal kurz zusammengefasst: Laut IEEE besteht der Datentyp double aus 8 Byte:
ein Bit für das Vorzeichen der Zahl, 16 Bit (wenn ich nicht irre) für den Exponenten, und der Rest für die Mantisse. An diese Bytes kommst Du mit dieser Konstruktion: (ungetestet!)

C++:
union ZAHL
{
  double D;
  char DC[sizeof(double)];
} Z;

// Zahl schreiben
Z.D = 123.456

// Zahl lesen
for (j=0; j<=sizeof(double); j++)
    printf("%02x ", Z.DC[j]);



So ungefähr müsste es gehen... - Aber sieh auch nioch mal in dem anderen Thread nach. (Ich hab jetzt keine Lust, danach zu suchen... )

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.10.2004, 23:42 Uhr
0xdeadbeef
Gott
(Operator)



C++:
memcpy(Alle[i], Gelesen, 8 * sizeof(Gelesen[0]));


...vorausgesetzt, Alles und Gelesen sind vom selben Typ.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 27.10.2004 um 23:44 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: