if(1/a==0) (ehemals: Hilfe)
-
hallo,
ich bin c++ Neuling und habe eine Frage, bei der ihr mir mit Sicherheit behilflich sein könnt.Ich muss immer von einer Zahl den Kehrwert ausrechen, also 1/n, und bei der Zahl NULL soll aber "Nicht definiert" da stehen.
wie geht das am besten? ich hätte es mit einer if-schleife probiert, doch es klappt nicht.
Danke
-
Doch, das klappt.
Zeig mal Deinen Versuch.
Bestimmt nur ein kleines Fehlerchen, wie ein ; zu viel nach if().
-
das ist der ausschnit des Programms:
if (1/a==0) { cout<<"Nicht Definiert"; }ich habe für 1/a keine Variable eingeführt, sollte ich das vl. machen?
-
da wird wohl das ==0 nicht simmen oder?
-
Du sollst wohl a auf 0 prüfen, nicht 1/a.

-
Doch nur 1/a, weil ich eine Tablle mache, wo a^2 und 1/a hineinkommt, aber nur beim 1/a soll "nicht definiert" dastehen, beim a^2 soll 0 ausgegeben werden.
-
Keine Angaben schrieb:
Doch nur 1/a, weil ich eine Tablle mache, wo a^2 und 1/a hineinkommt, aber nur beim 1/a soll "nicht definiert" dastehen, beim a^2 soll 0 ausgegeben werden.
cooky hat aber recht.
1/a ist nicht definiert, wenn a==0.
-
Das wäre irgendwie sinnlos. 0/1 ist definiert, das ist nämlich 0. Nur x/0 ist nicht definiert. Kann sein dass das jetzt irgendwie ein komischer Aufgabenkontext ist, aber solange du nicht mehr erzählst, gehe ich davon aus, dass du die Aufgabe falsch verstanden hast.
-
Ich erkläre dir das programm kurz damit du besser verstehst was ich meine

ich gebe einen x-wert ein z.B.2
dann soll ausgegeben werden: a^2=4, 1/a=0.5aber wenn ich den x-wert 0 eingebe soll dastehen: a^2=0, 1/a="Nicht definiert"
wenn ich aber wie cooky gesagt hat, a prüfe, kommt für a^2 auch "Nicht definiert" raus, soll es aber nicht.
verstehst du was ich meie?
-
int val; std::cin >> val; std::cout << "a^2= " << val*val << std::endl; std::cout << "1/a= " << (a!=0 ? 1./a : "nicht definiert") << std::endl;bb
-
unskilled schrieb:
int val; std::cin >> val; std::cout << "a^2= " << val*val << std::endl; std::cout << "1/a= " << (a!=0 ? 1./a : "nicht definiert") << std::endl;bb
Was soll das?
-
Keine Angaben schrieb:
verstehst du was ich meie?
Nein, aber ich verstehe jetzt wo dein Denkfehler liegt.
#include <iostream> int main() { double a; std::cin >> a; std::cout << "a^2: " << a * a << '\n'; if (a != 0) std::cout << "1/a: " << 1 / a << '\n'; else std::cout << "Undefined\n"; }@unskilled: Das geht nicht, double und const char* sind logischerweise nicht ineinander konvertierbar.