Perl :: Aufgabe #33 :: Lösung #1

2 Lösungen Lösungen öffentlich
#33

Mit Caesar Chiffre ent- und verschlüsseln

Anfänger - Perl von Dome - 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.

Konsolenausgabe:

Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#1
vote_ok
von RivalofSilen (620 Punkte) - 19.03.2014 um 09:33 Uhr
Hier mein Modell!

Quellcode ausblenden Perl-Code
print "Bitte Wort eingeben!\n";
chop($wert = <STDIN>);
print "\nVerschiebung um wie viele Zeichen?\n";
chop($verschiebung = <STDIN>);
$wert = lc($wert);
$laenge = length($wert);
@buchstaben = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

#Buchstaben um gewünschte Zahl verschieben
for($i=0;$i<=25;$i++){
	@verschoben[$i] = @buchstaben[$i+$verschiebung];
}

#Wort zeichenweise in Array schreiben
for($i=1;$i<=$laenge;$i++){
	@wort[$i-1]= substr($wert,$i-1,1);	
}

#gegebenes Wort in verschlüsseltes Wort umwandeln
for($i=0;$i<$laenge;$i++){
	for($k=0;$k<25;$k++){
		if(@wort[$i] eq @buchstaben[$k]){
			@wort[$i]=@verschoben[$k];
			$k=25;
		}
	}
}

print @wort;

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2141649

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.