Programmieren von Masse Berechnen (Lid-driven-Cavity)-Kontrolle bitte
-
Hi Freunde,
ich hab dieses Programm geschrieben, nur ich hab meine ich wieder mindestens einen Fehler drinne
void MasseBerechnen(void)
{int i, j;
M = 0.0;
for (i=0;i<imax;i++)
for (j=0;j<jmax;j++)
M += rho[i][j]+rho[i+1][j]+rho[i][j+1]+rho[i+1][j+1];M = dxdy/4.0
}
-
Liegt der Fehler darin, dass du (fast) jeden Wert auf der Diagonale der Matrix zweimal draufaddierst?
-
ich bin mir nicht sicher, aber ich glaube nicht, dass es daran liegt.....
-
Simonee schrieb:
ich bin mir nicht sicher, aber ich glaube nicht, dass es daran liegt.....
Wenn du nicht willst, dass dich jeder als Troll abstempelt, dann solltest du mal ein vollständiges Minimalbeispiel posten (wie es hier beschrieben wird). Enthalten: Welche Ausgabe du erwartest, und was daran nicht stimmt.
-
Glaskugel: ich könnte mir vorstellen, dass es hiermit ein Problem gibt: rho[i+1]. Vorrausgesetzt natürlich, imax == rho.size()
-
Hi Freunde,
also mein Fehler war, dass nach der "4.0" ein ";" fehlte
Danke
-
Un das wusste dein Compiler nicht???
-
Hi Simone, ja richtig solche Funktionen immer mit Semikolon abschliessen, nach der geschweiften Klammer. Und du brauchst im Parameterklammer keinen void nochmal extra eingeben. Ruhig leer lassen.
-
Sandor++ schrieb:
Hi Simone, ja richtig solche Funktionen immer mit Semikolon abschliessen, nach der geschweiften Klammer.
Es geht hier um das Semikolon nach der Anweisung. Nach der geschweiften Klammer eines Funktionskörpers wird nie ein Semikolon gebraucht.
-
Tatsächlich! Jetzt kann ich hier auch fragen, woher weiss ich ob bei eigenen Funktionen mit Semikolon abgeschlossen werden muss und wann nicht?
bei der do {};while() muss zum Beispiel semikolonisiert werden....
-
Jetzt kann ich hier auch fragen, woher weiss ich ob bei eigenen Funktionen mit Semikolon abgeschlossen werden muss und wann nicht?
Nie. Falls wir uns einig sind, was wir mit dem Begriff "Funktion" bezeichnen.
bei der do {};while() muss zum Beispiel semikolonisiert werden....
Ist das etwa eine Funktion?
-
Arcoth schrieb:
bei der do {};while() muss zum Beispiel semikolonisiert werden....
Ist das etwa eine Funktion?
Das ist zunächst mal ein Syntaxfehler, das Semikolon in der Mitte hat da nichts verloren
-
Bashar schrieb:
Arcoth schrieb:
bei der do {};while() muss zum Beispiel semikolonisiert werden....
Ist das etwa eine Funktion?
Das ist zunächst mal ein Syntaxfehler, das Semikolon in der Mitte hat da nichts verloren
Ohh mein Gott das gibts doch nicht das muss ja da hin: do {}while();
Hast schon wieder recht.
-
Die Regeln für die Semikolonsetzung in C++ sind äußert kompliziert.
Das ist einer der Gründe, wieso C++ so schwierig ist.
Am besten überall Semikolons platzieren, wenn du Enter drückst. Außer bei Funktionsdefinition! Zur Sicherheit auch mal zwei bis drei, falls eins verloren gehen sollte.#include <iostream>;; ;; int main() {;; std::cout << "Hallo Semikolon;";;; };;;
-
Nathan schrieb:
Die Regeln für die Semikolonsetzung in C++ sind äußert kompliziert.
Das ist einer der Gründe, wieso C++ so schwierig ist.
Am besten überall Semikolons platzieren, wenn du Enter drückst. Außer bei Funktionsdefinition! Zur Sicherheit auch mal zwei bis drei, falls eins verloren gehen sollte.#include <iostream>;; ;; int main() {;; std::cout << "Hallo Semikolon;";;; };;;
oO
Das ist ja lauffähig laut Ideone oO
LOL, wusst ich nicht...
-
Darauf wäre ich jetzt aber nicht darauf gekommen! Aber ich denke mal das das kein guter Stil ist überall zu Semikolonisieren.
-
Skym0sh0 schrieb:
oO
Das ist ja lauffähig laut Ideone oO
LOL, wusst ich nicht...Ich muss gestehen:
Weiß ich aus eigener Erfahrung. *schäm*
-
Ich schreibe in die Zeilen vor und nach
#include
jeweils#
als Barrikade gegen den Rest des Codes.
-
Also das hier
int i; for(i=0;i<10;++i); { if(i<=2 or i>=8); { cout<<i<<'\n'; }; };
gibt was sehr komisches aus.
-
volkard schrieb:
Also das hier
int i; for(i=0;i<10;++i); { if(i<=2 or i>=8); { cout<<i<<'\n'; }; };
gibt was sehr komisches aus.
Nö, seit wann ist 10 komisch?