/* * Programmieren fuer Physiker, SS 2010 * * Haeufigkeitstabelle aus eingelesenen Werten erzeugen * (hier Lottozahlen). Ergebnisdatei schreiben. */ #include #include #include using namespace std ; int main() { const int MaxAnz=100000 ; // Maximale Zahl an Werten int Wert[MaxAnz] ; const int Bereich=50 ; // Maximaler Wertebereich (hier 1-49) int Haeuf[Bereich] ; char QuellName[30], ZielName[30] ; cout << "Haeufigkeitstabelle generieren" << endl ; cout << "Quelldatei: " ; cin >> QuellName ; cout << "Ergebnisdatei: " ; cin >> ZielName ; // Daten einlesen ifstream QuellDatei(QuellName) ; if( 0==QuellDatei) { cout << "Kann Quelldatei nicht oeffnen. Stop." << endl ; exit(1) ; } int Anz=0 ; // Anzahl erfolgreich eingelesener Werte! // Einlesen bis zum Dateiende: Ergebnis von ">>" Ausdruck // wird Null (also false) am Dateiende. Falls einlesen // klappt ist das Ergebnis "true". while (QuellDatei >> Wert[Anz]) { cout << Wert[Anz] << " " ; Anz++ ; if (Anz >= MaxAnz) { cout << "Puh. Das sind mir zuviel Daten... Stop." << endl ; exit(1) ; } } QuellDatei.close() ; cout << endl ; cout << "Anzahl der Werte: " << Anz << endl ; // Haeufigkeitstabelle generieren for( int i=0; i=1 && w