O
28. Mai 2018, 09:56
@seppj ja ich habes selber geschrieben, aber bei der primzahl nicht genau gewusst, was ich tue. Danke für deine Hilfe, habe es jetzt hinbekommen, dass es auch funktioniert, auch wenn es vielleicht nicht die schönste Lösung ist.
//Aufgabe 3 ii)
#include <iostream>
#include <cmath>
double mittelwert (double a, double b) {
double mittel;
mittel = (a+b)/2.0;
return mittel;
}
double geomittel (double a, double b) {
double geo;
geo = sqrt(a * b);
return geo;
}
bool primzahl(int a) {
bool prim = 0;
bool faktor = 0;
if (a == 2) {
prim = 1;
}
else {
int t;
for (t = 2; t <= sqrt(a); t++) {
if (a % t == 0) {
prim = 0;
break;
}
else {
prim = 1;
}
}
}
return prim;
}
bool primzahl2(int b) {
bool prim = 0;
bool faktor = 0;
if (b == 2) {
prim = 1;
}
else {
int t;
for (t = 2; t <= sqrt(b); t++) {
if (b % t == 0) {
prim = 0;
break;
}
else {
prim = 1;
}
}
}
return prim;
}
int main ()
{
int a, b , c, n;
std::cout << "Bitte gib zuerst a und dann b ein" << std::endl;
std::cin >> a >> b;
if (a < 0 || b < 0)
std::cout << "ERROR" << std::endl;
else
std::cout << "Welche der 3 Typen wollt ihr?\n1. Arithmetisches Mittel\n2. Geometrisches Mittel\n3. Pruefen ob Primzahl" << std::endl;
std::cin >> n;
if (n==1)
std::cout << "Ihr Ergebnis ist\n" << mittelwert(a, b) << "\n";
else if (n==2)
std::cout << "Ihr Ergebnis ist\n" << geomittel(a, b) << "\n";
else if (n==3)
{
if (primzahl(a)==0)
std::cout << "a ist keine Primzahl"<< "\n";
else
std::cout << "a ist eine Primzahl";
if(primzahl (b)==0)
std::cout << "b ist keine Primzahl";
else
std::cout << "b ist eine Primzahl";
}
}