C++ :: Aufgabe #349
1 Lösung
Figur zurück zum Ausgangspunkt
Anfänger - C++
von JKooP
- 02.04.2021 um 08:45 Uhr
Eine Figur bewegt sich auf einer 2D- Spielfläche (Koordinatensysteme). Dabei startet sie an der Position (0, 0).
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.
Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch
Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.
Viel Spaß
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.
Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch
Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.
Viel Spaß
Lösungen:
C++ 17
C-Code
#include <iostream> #include <vector> #include <string> using namespace std; bool is_back(string s) { char c[26]{}; for (const auto& i : s) c[i - 65]++; return c[11] == c[17] && c[3] == c[20]; } int main() { vector<string>v{ "UD", "LURD", "LLDD", "LLUUURDDRD", "LDRRLRUULR" }; for(const auto& i : v) std::cout << i << ": " << (is_back(i) ? "wahr" : "falsch") << endl; }