Fehler beim generieren eines Arrays

Gast
Lisa schrieb:
> Geht das nicht in einem Befehl, da x,y & z alle gleich groß sein sollen?

nein.

Was soll das musst du für jeden Quellcodezeile Geld bezahlen? schreibe 3 
Zeilen dann könnte es sogar lesbar und wartbar werden.
Lisa schrieb:
> Geht das nicht in einem Befehl, da x,y & z alle gleich groß sein sollen?
> wie zb x=y=z=scanf("%ld%lf%lf",&x[n],&y[n],&z[n]);

Zu Funktionen wie malloc() gibt es jede Menge Dokumentation. Die kann 
man ruhig auch mal lesen - das tut nicht weh. :-)

Zum Beispiel:
http://www.cplusplus.com/reference/cstdlib/malloc/

Wie man sieht, bekommt man bei einem Aufruf von malloc einen Zeiger 
auf den allokierten Speicherbereich zurück. Wenn man also drei 
Speicherblöcke will, muss man eben dreimal Speicher anfordern.
Gast
> Weis jemand welchen Fehler ich hier mache?
Leider gleich mehrere.

1. Unter Project&Code hat dieser Beitrag, der eine Frage ist nicht zu 
suchen. Unter Project&Code sollen fertige Projekte präsentiert werden. 
Hier allerdings nur der Vollständigkeit halber erwähnt.

2. Einen orthographischer Fehler. Hier allerdings nur der 
Vollständigkeit halber erwähnt. Es heisst: "Weiß".

3. Einen begrifflichen Fehler. Hier allerdings nur der Vollständigkeit 
halber erwähnt.
Es heisst auf Englisch "Array" und die übliche K&R-Übersetzung spricht 
von "Vektor".

4.
> Ich möchte 3 n-dimensionale double Felder generieren x[n], y[n], z[n]

Die Aussage ist widersprüchlich.
Die Ausdrücke x[n], y[n], z[n] betreffen drei eindimensionale Vektoren 
x, y und z. Nicht drei n-dimensionale Vektoren.

4. Aus dem Kontext heraus:
> x=y=z=(double*)malloc(n*sizeof(double*));

Den von malloc zurückgegebenen Zeiger, kann man nicht mehrfach verwenden 
um sie als Zeiger auf drei verschiedene Vektoren zu verwenden. 
Vielmehr erhältst Du so einen Zeiger, der, wenn Du x, y und z damit 
initialisierst, in allen Fällen auf ein und denselben Vektor zeigen. 
Nicht auf drei verschiedene.

5. Die Beschreibung des Problems im Detail fehlt. Was geschieht, wenn Du 
es versuchst?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.