Disjunktiv .... wie erklärt man das C++ ??
-
ich will eine Methode definieren, die von zwei Objekten feststellt, ob ihre Elementmengen disjunkt(tiv) sind.
a b a \or b
Wahr Wahr Wahr
Wahr Unwahr Wahr
Unwahr Wahr Wahr
Unwahr Unwahr Unwahraber da kann man ja auch das und anstatt oder für die wahrehitstabelle nehmen ?? .. habe da irgendwie nicht so den richtigen plan .. also 2 Werte sollen verglichen werden .. und dann soll ausgegeben werden ob sie gleich/ungleich sind ?!?!?
-
zwei mengen sind disjunkt, wenn sie keine gemeinsamen elemente haben. dazu kannste zum beispiel durch die eine menge gehen und immer schauen, ob das element auch in der anderen ist und dann durch die andere und immer schauen, ob das element auch in der einen ist.
nur hat das nix mit wahrheitstabellen und disjunktiv zu tun, fürchte ich.
-
Schau Dir mal den Code des Algorithmus 'set_intersection' an. Zu finden im Header <algorithm>. Hier 'ne kleine Demo:
#include <iostream> #include <set> #include <algorithm> // <-- set_intersection; hier isser drin #include <iterator> // inserter int main() { using namespace std; set< int > m1; set< int > m2; // m1, m2 füllen set< int > erg; set_intersection( m1.begin(), m1.end(), m2.begin(), m2.end(), inserter( erg, erg.begin() ) ); cout << "Die beiden Mengen sind " << (erg.empty()? "": "nicht ") << "disjunkt" << endl; return 0; }Der Trick ist, dass die beiden Eingangsmengen (hier set's) bereits sortiert sind. Wenn Du selber so einen Algorithmus schreibst kannst Du natürlich die Schleife abbrechen, sobald Du ein gleiches Element gefunden hast.
Gruß
Werner