Hilfe bei Programm(Maximum,Minimum)
- 
					
					
					
					
 Hallo würde gerne bei folgendem Programm noch das Maximum,Minimum und durchschnittliche Abweichung vom Mittelwert hinzufügen,weiß aber nciht wie das geht.Könnt ihr mir helfen? #include <iostream> using namespace std; double durchschnitt; double gesamt; int main() { double *feld; feld = new double[7]; if (feld == NULL) { cout << "Error: kein Speicher verfuegbar" << endl; return 1; } double t1,t2,t3,t4,t5,t6,t7; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t1; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t2; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t3; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t4; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t5; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t6; cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> t7; feld[0]=t1; feld[1]=t2; feld[2]=t3; feld[3]=t4; feld[4]=t5; feld[5]=t6; feld[6]=t7; gesamt = feld[0] + feld[1] + feld[2] + feld[3] + feld[4] + feld[5] + feld[6]; durchschnitt = gesamt/7.0; cout << "Durchschnitt: " << durchschnitt << '/n'; delete[] feld; fflush(stdin); // leert den Eingabepuffer getchar(); // auf Tastatureingabe warten return 0; }Vielen Dank 
 
- 
					
					
					
					
 Wenn ich sowas schon sehe rollen sich mir die Zehnägel hoch. Bitte bitte lies dir Thinking in C++ Vol. 1 und 2 durch. 
 
- 
					
					
					
					
 Keine Idee? Wie würdest du denn den größten und kleinsten Wert in einer Liste finden? 
 
- 
					
					
					
					
 Wat meinst du denn mit durchschnittliche Abweichung vom Mittelwert?? BTW: dein Code ist wirklich miserabel. Du solltest dir das nochmal ansehen. Aber weil ich n guten Tag hab, hab ich mal n bisschen korrigiert und drin rumgefuscht.. 
 Keine Ahnung, obs funzt, hab grad keinen Compiler und auch keinen Bock...#include <iostream> using namespace std; int main() { double durchschnitt, gesamt, max, min; double *feld = new double[7]; if (feld == NULL) { cout << "Error: kein Speicher verfuegbar!" << endl; return 1; } for(int k = 0; k != 7; k++) { cout << "Geben Sie bitte einen Zahlenwert ein: "; cin >> feld[k]; } durchschnitt = (feld[0] + feld[1] + feld[2] + feld[3] + feld[4] + feld[5] + feld[6]) / 7.0; max = feld[0]; min = feld[0]; for(int i = 0; i != 7; i++) { if(feld[i] < min) min = feld[i]; if(feld[i] > max) max = feld[i]; } cout << "Durchschnitt: " << durchschnitt << endl; cout << "Maximal: " << max << endl; cout << "Minimal: " << min << endl; delete[] feld; cin.get(); return 0; }
 
- 
					
					
					
					
 double durchschnitt, gesamt, max, min; double *feld = new double[7];Alle Variablen zu Beginn einer Funktion zu definieren ist alter C-Stil und in C++ unnötig (und unübersichtlich). Machine schrieb: if (feld == NULL) { cout << "Error: kein Speicher verfuegbar!" << endl; return 1; }Den Teil kannst du getrost wegschmeißen, new wirft eine Exception, wenns Probleme gibt. durchschnitt = (feld[0] + feld[1] + feld[2] + feld[3] + feld[4] + feld[5] + feld[6]) / 7.0;man könnte natürlich auch std::accumulate benutzen... max = feld[0]; min = feld[0]; for(int i = 0; i != 7; i++) { if(feld[i] < min) min = feld[i]; if(feld[i] > max) max = feld[i]; }auch hier gibts standard-algorithmen: std::max_element und std::min_element delete[] feld;Die Speicherverwaltung kann man sich natürlich auch abnehmen lassen wenn man STL-container verwendet... #include <algorithm> #include <cstdlib> #include <iostream> #include <vector> using namespace std; int main() { const int anzahl = 7; vector<double> feld(anzahl); for(int k = 0; (k != anzahl) && cin; ++k) { cout << "Geben Sie bitte einen Zahlenwert ein: "; double d; cin >> d; feld.push_back(d); } if (feld.size() != anzahl) { cerr << "Probleme bei der Eingabe!" << endl; return EXIT_FAILURE; } double durchschnitt = accumulate(feld.begin(), feld.end()) / feld.size(); double max = *max_element(feld.begin(), feld.end()); double min = *min_element(feld.begin(), feld.end()); cout << "Durchschnitt: " << durchschnitt << endl; cout << "Maximal: " << max << endl; cout << "Minimal: " << min << endl; cin.get(); return EXIT_SUCCESS; }