Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Lefelsprache (Zeichenketten)

Vielleicht habt ihr schon mal von der Lefelsprache gehört

Dielefie gelefeht ulefungelefefälefähr solefo

Aufgabe ist nun eine funktion zu schreiben die eine Zeichenkette entgegennimmt und diese in die Lefelsprache übersetzt zurückgibt.

 

So funktioniert die Lefelsprache:

alle vokale werden durch den vokal + 'lef' + vokal ersetzt

 

Beachtet:  fängt ein Wort mit einem großgeschrieben Vokal an muss der folgende Vokal in _lef_ kleingeschrieben werden!

ein kleiner Tipp : regexp ist gut geeignet um diese Aufgabe zu lösen, allerdings ist es natürlich auch erlaubt mit Schleifen zu arbeiten. Es wäre toll zu beidem eine Lösung zu bekommen.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

4 Lösung(en)

VOWELS = 'aeiouAEIOU'

def lefel(str):
    str = list(str)
    c = 0
    for char in str:
        if char in VOWELS:
            str.insert(c, char + 'lef' + char.lower())
            del(str[c+1])
        c += 1
    str = ''.join(char for char in str)
    return str
                

Lösung von: Bester Mensch (Class)

public class Lefelsprache {

	private static char[] vokale = { 'a', 'ä', 'e', 'i', 'o', 'ö', 'u', 'ü' };
	private static String[] replace = { "Au", "AU", "aU", "au", "Ei", "EI", "eI", "ei", "Ie", "IE", "iE", "ie" };
	private static Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		String text = getText();
		StringBuilder output = new StringBuilder();

		for (int i = 0; i < text.toCharArray().length; i++) {
			boolean cont = false;

			for (String s : replace) {
				if (i != text.toCharArray().length - 1) {
					if (s.toCharArray()[0] == text.charAt(i) && s.toCharArray()[1] == text.charAt(i + 1)) {
						output.append(s + "lef" + s.toLowerCase());
						cont = true;
						i++;
					}
				}
			}

			if (!cont) {
				output.append(text.charAt(i));

				for (char d : vokale) {
					if (Character.toLowerCase(text.charAt(i)) == d) {
						output.append("lef" + Character.toLowerCase(text.charAt(i)));
						break;
					}
				}
			}
		}

		System.out.println(output.toString());
	}

	private static String getText() {
		System.out.print("Text eingeben: ");
		String text = sc.nextLine();
		sc.close();
		return text;
	}
}
                

Lösung von: Linus Götz (Lichtenberg-Gymnasium Cuxhaven)

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int is_vocal(char c) {
    c = tolower(c);
    return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') ? 1 : 0;
}

char *lefel(char *str) {
    char* result;
    int i, j, len;
    for(i = 0, len = 0; str[i] != '\0'; i++) {
        len++;
        if (is_vocal(str[i])) {
            len+=4;
        }
    }
    result = malloc(sizeof(char) * len);
    for(i = 0, j = 0; str[i] != '\0'; i++) {
        result[j++] = str[i];
        if (is_vocal(str[i])) {
            result[j++] = 'l';
            result[j++] = 'e';
            result[j++] = 'f';
            result[j++] = tolower(str[i]);
        }
    }
    result[j++] = '\0';
    return result;
}
                

Lösung von: Rainer Winkler (Alterschauerberger Universität Fachbereich Drachologie)

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Lefel
{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);
		
		System.out.println("Geben Sie einen in Lefelsprache zu übersetzenden Text ein!");
		System.out.println(lefel(scan.nextLine()));
		
		scan.close();
	}
	
	public static String lefel(String plaintext)
	{
		char actualcipher;
		String lefeledCipher = "";
		StringBuilder lefeledText = new StringBuilder();
		
		for(int i = 0; i < plaintext.length(); i++)
		{
			actualcipher = plaintext.charAt(i);
			switch(actualcipher)
			{
			case 'a':
			case 'e':
			case 'i':
			case 'o':
			case 'u': lefeledCipher = actualcipher + "lef" + actualcipher; break;
			
			case 'A':
			case 'E':
			case 'I':
			case 'O':
			case 'U': lefeledCipher = actualcipher + "lef" + (char)(actualcipher+32); break;
				
			default: lefeledCipher = String.valueOf(actualcipher); break;
			}
			
			lefeledText.append(lefeledCipher);
			
		}		
		
		return new String(lefeledText);
	}

}
                

Lösung von: Name nicht veröffentlicht

Verifikation/Checksumme:

"Das ist die Lefelsprache" --> "Dalefas ilefist dielefie lelefefelefelspralefachelefe"

"Ich bin zu Hause" --> "Ilefich bilefin zulefu Haulefauselefe"

"ein Eimer am Abgrund" --> "eilefein Eilefeimelefer alefam Alefabgrulefund"

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1
Schwierigkeit: Leicht
Webcode: 03w7-wetg
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen