You are viewing a single comment's thread:

RE: Ein kleines Programmier/Logikrätsel..

(edited)

Ich bin mir nicht sicher, ob ich es richtig verstanden habe.
Du gibst ein Wort vor z.B. 'bald' und es soll aus 'aaaa' das Wort 'bald' werden, indem in einer Schleife die Buchstaben aus 'aaaa' an jeder Stelle solange inkrementiert werden bis die Buchstaben mit 'bald' übereinstimmen?

Ich habe hier mal ein quick und dirty Lösungsversuch, allerdings in c#. Mit der Voraussetzung dass es an jeder Stelle immer mit kleinen a beginnt. Vielleicht hilft es etwas.

using System;

public class App {
    private readonly string targetword = "bald";

    public App(){
        /* dieser string wird am ende dasselbe wort haben wie das targetword */
        string word = "aaaa";
        for(int n = 0; n < targetword.Length; n++){
            char letter = loopCharacter(word[n],targetword[n]);
            /* ersetze das 'a' durch den buchstaben des targetword an der Position n*/
            word = word.Remove(n,1);
            word = word.Insert(n,letter.ToString());
        }
        Console.WriteLine(word);
    }

    private static char loopCharacter(char letter, char target){
        /* alphabet hat 26 buchstaben */
        for(int n = 0; n < 26; n++){
            /* letter stimmt mit dem buchstaben des Zielwort an der Stelle n überein */
            if(letter == target){
                break;
            } else {
                /* erhöhe den buchstaben um 1. chars sind auch integers */
                letter = (char)((int) letter+1);
                //Console.WriteLine(letter);
            }
        }
        return letter;
    }


    public static void Main() {
        new App();
    }
}
0.00205331 BEE
1 comments

Danke für dein Bemühen. Leider fällt mir die Interpretation daraus sehr schwer.
Mir ist vor allem nicht klar, in welcher Weise hier inkrementiert wird.

Mir kommt vor, dass die Aufgabe von "bald" als Vorgabe gilt hier, .. also wenn zB hinten d erreicht wird, dass er weiterschaltet... stimmt das so?

Wenn ja, meinte ich das aber nicht. Sondern, ob es möglich ist, wie bei aufsteigenden Zahlen (welche letztlich alle innerhalb der Range sind), alle Wörter innerhalb der Range (zB 5 Stellen) zu erreichen.

0E-8 BEE