// 06 07 //A1 #include using namespace std; main(){ int n; double p = 1; cout << "n eingeben: "; cin >> n; for (int k=1; k<=n; k++){ p *= (1 + 1/float(k*k)); } cout << "p_" << n << " = " << p; system("Pause"); } //A2 #include using namespace std; void reverse (double feld[], int n){ double hilfe; for (int i=0; i<=(n-1)/2; i++){ hilfe = feld[i]; feld[i] = feld[n-1-i]; feld[n-1-i] = hilfe; } } void init (double feld[], int n){ for (int i=0; i<=n-1; i++) feld[i] = i; } void ausgabe (double feld[], int n){ for (int i=0; i<=n-1; i++){ cout << "feld[" << i << "] = " << feld[i] << endl; } } main(){ const int laenge = 9; double field[laenge]; init (field, laenge); ausgabe (field, laenge); cout << "\nreverse wird aufgerufen...\n\n"; reverse (field, laenge); ausgabe (field, laenge); system("Pause"); } //A3 #include using namespace std; class tacho{ public: tacho(double, double); double get_dist(); tacho operator += (tacho); friend double avg_speed (tacho); private: double strecke, zeit; }; tacho::tacho(double s, double z){ strecke = s; zeit = z; } double tacho::get_dist(){ return strecke; } tacho tacho::operator +=(tacho t){ strecke += t.strecke; zeit += t.zeit; } double avg_speed(tacho fahrt){ return (fahrt.strecke/fahrt.zeit); } int main(){ tacho trip (0,0); trip += tacho (200, 413.5); // Tram Uni-> Zoo, 2 km, 413.5 sec trip += tacho (547.5, 800.3); // zu Fuss im Zoo, 547.5 m, 800.3 sec trip += tacho (2000, 415); // Tram zu Uni, 2 km, 415 sec cout << "Gesamtstrecke: " << trip.get_dist() << endl; cout << "Durchschnitts-Geschwindigkeit: " << avg_speed(trip) << endl; system("Pause"); } //A4 #include using namespace std; int f(int z){ z += 1; cout << "UP1: " << z << endl; return z*2; } int f(int* q){ (*q) += 2; cout << "UP2: " << *q << endl; return 13 + (*q)/1000; } int f(int r, int s){ if (s==0) return 0; else return r + f(r-1,s-1); } int main(){ int i=9; // <- setzen Sie hier bitte die letzte Ziffer // Ihrer Matrikelnummer ein. int j=f(i); cout << "HP1: " << i << " " << j << endl; int* p = &i; cout << "HP2: " << *p << endl; j=f(p); cout << "HP3: " << i << " " << j << endl; cout << "HP4: " << f(6,3) << endl; system("Pause"); } // Eingesetzte Ziffer: ziffer UP1: ziffer+1 HP1: ziffer (ziffer+1)*2 HP2: ziffer UP2: ziffer+2 HP3: ziffer+2 13 // immer 13, da bei Cast zu int die Nachkommastellen abgetrennt werden HP4: 15 // 6+5+4=15 // Bsp.: ziffer=9 UP1: 10 HP1: 9 20 HP2: 9 UP2: 11 HP3: 11 13 HP4: 15 //A5 #include using namespace std; main(){ int n=0, feld[9]; long zahl, temp, ziffer; string schoen = "eine"; cout << "Zahl eingeben: "; cin >> zahl; temp = zahl; for (int k=0; k<=9; k++) feld[k] = 0; while (temp >= 1){ ziffer = temp % 10; feld[ziffer] += 1; temp /= 10; n++; } for (int k=0; k<=9; k++){ cout << k << ": " << feld[k] << " mal\n"; if (k <= n && k != 0 && feld[k] != 1) schoen = "keine"; if ((k > n || k == 0) && feld[k] != 0) schoen = "keine"; } cout << zahl << " ist " << schoen << " ziffern-schoene Zahl.\n"; system("Pause"); }