031
17.11.2009, 12:21 Uhr
Pamina
|
*g* ok damit hast du wohl recht.
darf ich schon wieder was fragen? Ha 2 ist jetzt online und ich hab mich mal gleich drangesetzt, damit nicht wieder so eine kurzfristige aktion draus wird. die aufgabe lautet:
Schreiben Sie mit Hilfe mindestens einer Funktion ein Programm, das herausndet, ob fur eine eingegebene Zahl folgendes gilt: Es gibt eine zweite Zahl, so dass die Summe der Teiler der eingegebenen Zahl (inkl. der 1 aber ohne der eingegebenen Zahl selbst) gleich der zweiten Zahl ist und umgekehrt, z.B.: Teiler von 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 Teiler von 284: 1 + 2 + 4 + 71 + 142 = 220
ich hab das programm auch hinbekommen, nur bei primzahlen funktioniert es nicht, ich müsste also irgendwie noch was reinschreiben, was bei Primzahlen ausgibt "dies ist eine Primzahl, daher nur durch sich selbst und 1 teilbar, aufgabenstellugn kann nicht erfüllt werden." außerdem muss ich den fehler abfangen, wenn buchstaben eingegeben werden...
bloß wie soll ich das wo hinschreiben??? hier mal mein programm:
Code: |
#include <iostream>
using namespace std;
int main() { int x=0, y=0; // deklarieren 2er Zahlen int sum_teiler_1 = 0, sum_teiler_2 = 0; // Teiler (um aufzusumieren) initialiserien int i; //Zählervariable
cout << "Bitte geben Sie die zu ueberpruefende Zahl ein: "; cin >> x;
cout << endl << "Teiler der eingegebenen Zahl: "; //Diese Schleife für die eingegebene Zahl for(i = 1; i<x;i++) // Schleife um Divisionen durchzuführen { if ( (x%i) == 0) // Ganzzahldivision { sum_teiler_1 = sum_teiler_1 + i; cout << " + " << i; } } cout << endl << "Teiler der Summe der eingegebenen Zahl: "; y=sum_teiler_1; // Schleife für die Summe der Teiler der eingegebenen Zahl for(i = 1; i<y;i++) // Schleife um alle Divisionen durchzuführen { if ( (y%i) == 0) // Ganzzahldivision { sum_teiler_2 = sum_teiler_2 + i; cout << " + " << i; } } cout << endl; // Leerzeile cout << endl; // Leerzeile // Noch eine Abfrage ob sum_teiler_1 gleich dem sum_teiler_2 ist if ((y == sum_teiler_1) == (x == sum_teiler_2)) { cout << "Summe der Teiler Zahl(1): " << sum_teiler_1 << endl; cout << "Summe der Teiler Zahl(2): " << sum_teiler_2 << endl;
cout << endl; // Leerzeile
cout << "Fuer die Zahl " <<x<< " gibt es die Zahl "<<y<<" , welche die Bedingung : Es gibt eine zweite Zahl," "so dass die Summe der Teiler der eingegebenen Zahl (inkl. der 1 aber" " ohne der eingegebenen Zahl selbst) gleich der zweiten Zahl ist und umgekehrt" " erfuellt. " << endl; } else { cout << "Summe der Teiler Zahl(1): " << sum_teiler_1 << endl; cout << "Summe der Teiler Zahl(2): " << sum_teiler_2 << endl; cout << endl; // Leerzeile cout << "Fuer " <<x<< " gibt es keine Zahl, fuer die gilt: " "Es gibt eine zweite Zahl, so dass die Summe der Teiler der eingegebenen Zahl (inkl. der 1 aber " "ohne der eingegebenen Zahl selbst) gleich der zweiten Zahl ist und " "umgekehrt" << endl; } getchar();getchar(); return 0; }
|
Dieser Post wurde am 17.11.2009 um 12:23 Uhr von Pamina editiert. |