fork download
  1. #include <vector>
  2. #include <algorithm> // Find.
  3. #include <iostream>
  4.  
  5. struct Wert
  6. {
  7. int zahl1;
  8. int zahl2;
  9. float zahl3;
  10.  
  11. // Den Vergleichsoperator implementieren damit ein Wert mit einer Zahl
  12. // verglichen werden kann.
  13. bool operator==(int zahl)
  14. {
  15. return zahl1 == zahl;
  16. }
  17. };
  18.  
  19. int main()
  20. {
  21. using namespace std;
  22.  
  23. // Vector füllen.
  24. vector<Wert> werte;
  25. werte.push_back({ 1, 10, 12.4f });
  26. werte.push_back({ 2, 17, 13.7f });
  27. werte.push_back({ 3, 18, 1.008f });
  28. werte.push_back({ 4, 12, -0.4f });
  29. werte.push_back({ 5, 555, 100.9f });
  30.  
  31. // Nach dem Wert 5 suchen.
  32. // Find nutzt den Vergleichsoperator, weswegen wir den implementieren mussten.
  33. auto iterator = find(werte.begin(), werte.end(), 5);
  34. if(iterator != werte.end())
  35. {
  36. cout << "Wie erwartet existiert ein Wert mit zahl1=5 und zahl2="
  37. << iterator->zahl2 << " und zahl3=" << iterator->zahl3 << '\n';
  38. }
  39. else
  40. {
  41. cout << "Unerwarteterweise existiert kein Wert mit zahl1=5\n";
  42. }
  43.  
  44. // Nach dem Wert 6 suchen.
  45. auto iterator2 = find(werte.begin(), werte.end(), 6);
  46. if(iterator2 != werte.end())
  47. {
  48. cout << "Unerwarteterweise existiert ein Wert mit zahl1=6\n";
  49. }
  50. else
  51. {
  52. cout << "Wie erwartet existiert kein Wert mit zahl1=6\n";
  53. }
  54. }
Success #stdin #stdout 0s 3032KB
stdin
Standard input is empty
stdout
Wie erwartet existiert ein Wert mit zahl1=5 und zahl2=555 und zahl3=100.9
Wie erwartet existiert kein Wert mit zahl1=6