Spick Geheimschrift C++ mit insertchar
Heya zusammen:D
Ich habe die Aufgabe bekommen, den Satz
Wir treffen uns am 22.11.2005
in
XWIRYTREFFENYUNSYAMY122.111.12005X
umzuprogrammieren mit C++
dabei sollte ich die Funktion insertchar benutzen.
Ich bitte um schnelle Antwort und danke im voraus
Neffi
Antwort schreiben
Antwort 1 von rfb vom 13.03.2019, 11:21 Options
Zitat:
C++ mit insertchar
da bist du hier wohl in der falschen Rubrik C++ hat mit JavaScript nix zu tun
aber auch da sollte
Zitat:
Wir treffen uns am 22.11.2005
in
XWIRYTREFFENYUNSYAMY122.111.12005X
nicht als Problembeschreibung ausreichen, denn irgendwie müsste ja erst mal festgelegt werden, nach welchen Kriterien der String umgewandelt werden soll.
Soweit ich das vermuten kann:
alle Leerzeichen durch Y ersetzen
vor jede Zahl eine 1 (Leerzeichen und/oder . trennt Zahlen)
vor und hinter den String ein X
Antwort 2 von rfb vom 13.03.2019, 18:08 Options
Spaßeshalber hier mal eine JavaScript-Lösung:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
String.prototype.chiffriere=function() {
return "X"+this.replace(/(\D)(\d)/g,"$11$2").replace(/\s/g,"Y") .toUpperCase()+"X";
}
window.onload=function(){
var wo=document.getElementById("geheim");
if (wo) wo.firstChild.data=wo.firstChild.data.chiffriere();
}
</script>
</head>
<body>
<p id="geheim">Wir treffen uns am 22.11.2005</p>
</body>
</html>
Da ich im Bereich reguläre Ausdrücke noch ein bisserl unsicher bin wäre ich über Vereinfachungsvorschläge dankbar.
Antwort 3 von rfb vom 14.03.2019, 10:01 Options
nur so als Nachtrag
"X"+this.replace(/(\D)(\d)/g,"$11$2").replace(/\s/g,"Y").toUpperCase()+"X"
gehört in eine Zeile und insbesondere gehört kein Leerzeichen vor .upperCase
(keine Ahnung wie letzteres beim Kopieren dorthin gelangt ist)
Wäre es möglich hier mal dem Antwort-textarea etwas mehr Breite zu geben? Ringsum ist doch genug nutzloser Rand.
Antwort 4 von Nefertari vom 14.03.2019, 18:53 Options
Ich danke für eure Vorschläge.
Das Problem hat sich erledigt.
Tx @ all