Hilfe Problem mit Programmcode - bitte mal anschauen
-
sehr viele unsigned signed mischungen
-
nicht gut

-
fürs verschönern fühl ich mich nicht zuständig.

Kurt
-
Irgendwie ist es doch ziemlich unnötige bei diesem Datenformat mit getline einzulesen. Was spricht gegen ein einfaches Einlesen mit dem op>>?
Dann eine struct bauen, wo jeweils die Werte einer Zeile drin sind.
Also:
struct record { int d; int D; float dynC; float e; float y; float statC; float y0; std::string typ; }; // nebst std::istream & operator>>(std::istream & in, record & object) { in >> object.d; in >> object.D; // ... in >> object.typ; return in; }Damit zerfällt die Einlese-Schleife zu:
std::vector<record> dataset; ifstream file(filename); for(record r; file >> r;) { dataset.push_back(r); }Das ist doch schon viel netter.
Jetzt zu den Funktionen. Da läufst Du ja immer über alle Einträge des dataset unr berechnest irgendwelche Sachen.
Trenne das. Schreib ne Funktion, die das was Du berechnen willst für einen Record tut und bau dann ne eigene Funktion, die nix anderes macht als ne Schleife zu laufen und die entsprechende Funktion für Records aufzurufen.---------------------------------------------------------------------------
Vielleicht lohnt es sich diese Funktionen ja in die record-struct zu verschieben?
Dann könnte man die Berechnungen in einem transform vornehmen -> Schleife weg.
Die Ergebnisse in nem vector sichern und mit maxelement das größte rausholen.Tatsächlich bräuchte man die Funktion mit der Schleife vielleicht nur einmal und man würde ihr als Parameter die Funktion übergeben, die sie berechnen soll.
Aber das führt jetzt vielleicht ein bißchen weit.
Bis zu den --------- lohnt es sich aber auf jeden Fall das mal umzusetzen. Du wirst sehen, ist der Code kürzer (bzw. die einzelnen Funktionen), so sieht man auch mehr und weiß genauer wo man hinlangen muß.
MfG Jester