Permalänk
Medlem

Att rulla stora bokstäver till små måste väl vara fel..
edit: min lösning.. i Python

def roll(text, step): abc = 'abcdefghijklmnopqrstuvwxyzåäö' out = '' for ch in text: pos = abc.find(ch.lower()) if pos != -1: pos = (pos + step) % len(abc) out += abc[pos] if ch.islower() else abc[pos].upper() else: out += ch return out

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Citat:

Ursprungligen inskrivet av Teknocide
Att rulla stora bokstäver till små måste väl vara fel..

Det har du helt rätt i. Uppdaterad version:

string alfa = "abcdefghijklmnopqrstuvwxyzåäö"; var krypterad = msg.ToCharArray().Select(c2 => alfa.Contains(Char.ToLower(c2)) ? Char.IsLower(c2) ? alfa[(alfa.IndexOf(c2) + 4) % alfa.Length] : Char.ToUpper(alfa[(alfa.IndexOf(Char.ToLower(c2)) + 4) % alfa.Length]) : c2); var avkrypterad = msg2.ToCharArray().Select(c2 => alfa.Contains(Char.ToLower(c2)) ? Char.IsLower(c2) ? alfa[(alfa.IndexOf(c2) - 4 + alfa.Length) % alfa.Length] : Char.ToUpper(alfa[(alfa.IndexOf(Char.ToLower(c2)) - 4 + alfa.Length) % alfa.Length]) : c2);

Ahum, forumet bryter inte så bra i code-taggar. Jag lägger till en radbrytning fast den inte ska vara där

Edit: Jag vet att det här inte är optimal och tjusig kod på långa vägar, ville mest själv testa om det gick att få till en enradslösning med mitt favoritverktyg.

Visa signatur

www.uu.se - some kind of university | www.hirr.org.uk - ain't no mountain high enough | www.bajenfans.se