# Hilfe beim Starten eines Programms



## Pielo (17. März 2021)

Hallo,

ich habe ein Rätsel im Bereich Geocache, welches Programmierkenntnisse voraussetzt. Da dieses Rätsel zu einer größeren Serie gehört würde ich dieses nur sehr ungern auslassen. 


```
static void SEPA(int start)

        {

            int[] array = {

                61, 80, 76, 83, 7, 58, 87, 72, 198, 7,

                94, 227, 85, 90, 74, 79, 91, 7, 76, 92,

                74, 79, 7, 59, 79, 92, 76, 89, 80, 85,

                78, 76, 85, 20, 53, 72, 91, 92, 89, 8

                };

            foreach (int x in array)

            {

                Console.Write("{0}", (char)(start + x));

            }

            Console.WriteLine();

 

            int i = start;

            i *= 3;

            i += 3;

            Console.Write("{0}", (char)i);

            i -= 28;

            Console.Write("{0:00}", i);

            i = i + i + i + i / 2 + i / i;

            Console.Write("{0}", (char)i);

            i += 4;

            i /= 4;

            Console.Write("{0}", (char)(i - 13));

            Console.Write("{0:00}", i);

            i++;

            Console.Write("{0}", (char)i);

            i--;

            i = (i * i - i) / ((i + i + 10) / 10) + i + i / i;

            Console.Write("{0:000}", i);

            i /= 4;

            i += 3;

            i /= 2;

            Console.Write("{0}", (char)i);

            i += i;

            i += 5;

            Console.Write("{0}", (char)i);

            i -= 3;

            i /= 6;

            Console.Write("{0:000}", i);

            i = i * i + i + i + i + i + i;

            Console.Write("{0}", (char)i);

            i -= 4 * 4;

            i /= 5;

            Console.Write("{0}", (char)i);

            i /= 2;

            i -= 2;

            Console.Write("{0:00}", i);

            i *= 4;

            i -= 10;

            Console.Write("{0}", (char)i);

            i = i + i + i + i + i;

            i += i + i + i;

            i -= 2;

            Console.Write("{0:000}", i);

 

            Console.WriteLine();

        }
```

Dieses Programm muss mit einem Startparameter gestartet werden. Leider weiß ich überhaupt nicht, wie und was ich machen muss. 

Habe auch schon mal in einem Onlinecompiler was zu erreichen, aber leider kommen da, logischer Weise, nur unverständliche Fehlermeldungen.

.NET Fiddle

Wäre schön, wenn mir jemand genau zeigen könnte wie ich vorgehen muss, um eine Antwort zu bekommen.

Mit freundlichen Grüßen
Pielo


----------



## Spyke (17. März 2021)

Main() und Befehlszeilenargumente – C#-Programmierhandbuch

Befehlszeilenargumente – C#-Programmierhandbuch


----------



## ikosaeder (17. März 2021)

Du musst die Funktion aufrufen, z.B. SEPA(5)


----------



## ikosaeder (17. März 2021)

Der Startwert ist übrigens 25.


----------



## ikosaeder (17. März 2021)

Da ich keine Ahnung von C# habe, habe ich das Ganze nach Python portiert. 
Leider gibt der Online Interpreter das nicht vollständig aus. 
Aber lokal bekommt man einen Text und Koordinaten.


```
def SEPA(start):
    array = [
                61, 80, 76, 83, 7, 58, 87, 72, 198, 7,
                94, 227, 85, 90, 74, 79, 91, 7, 76, 92,
                74, 79, 7, 59, 79, 92, 76, 89, 80, 85,
                78, 76, 85, 20, 53, 72, 91, 92, 89, 8
    ]
    for x in array:
        print(f'{chr(start+x)}',end='')
    print('')
    i = start
    i *= 3
    i += 3
    print(f'{chr(i)}',end='')
    i -= 28
    print(i,end='')
    i = int(i + i + i + i / 2 + i / i)
    print(i,end='')
    i += 4
    i = i//4
    print(chr(i - 13),end='')
    print(i,end='')
    i+=1
    print(chr(i),end='')
    i-=1
    i = int((i * i - i) / ((i + i + 10) / 10) + i + i / i)
    print(i,end='')
    i = i // 4
    i += 3
    i = i // 2
    print(chr(i),end='')
    i += i
    i += 5
    print(chr(i),end='')
    i -= 3
    i  = i // 6
    print(chr(i),end='')
    i = i * i + i + i + i + i + i
    print(chr(i),end='')
    i -= 4 * 4
    i = i // 5
    print(chr(i),end='')
    i = i // 2
    i -= 2
    print(chr(i),end='')
    i *= 4
    i -= 10
    print(chr(i),end='')
    i = i + i + i + i + i
    i += i + i + i
    i -= 2
    print(i,end='')

SEPA(25)
```


----------



## Technipion (17. März 2021)

ikosaeder hat gesagt.:


> Da ich keine Ahnung von C# habe, habe ich das Ganze nach Python portiert.


Danke! Das hat es mir ermöglicht auch ein wenig damit rumzuspielen 

Den Text erhält man in der Tat für einen Startwert von 25. Aber ergeben die Koordinaten für euch irgendeinen Sinn? Ich habe jetzt eine halbe Stunde rumprobiert die Zahlen irgendwie zu kombinieren, aber da landet man teilweise in Frankreich, Russland oder auch Somalia. Man muss die Zahlen schon ziemlich verwursten um in Deutschland zu landen 

Irgendwelche Ideen wie man die Zahlen kombinieren muss (ohne sie jetzt konkret zu spoilern)?

Gruß Technipion

EDIT: Hab's rausgefunden. Bei der Portierung nach Python sind ikosaeder wohl ein paar Flüchtigkeitsfehler passiert. Wenn man das Programm 1 zu 1 portiert, kommen sinnvolle Koordinaten heraus 



Spoiler: Python Code





```
def SEPA(start):
    array = [
                61, 80, 76, 83, 7, 58, 87, 72, 198, 7,
                94, 227, 85, 90, 74, 79, 91, 7, 76, 92,
                74, 79, 7, 59, 79, 92, 76, 89, 80, 85,
                78, 76, 85, 20, 53, 72, 91, 92, 89, 8
    ]
    for x in array:
        print(f'{chr(start+x)}',end='')
    print('')

    def write(s):
        print(s, end='')

    i = start
    i *= 3
    i += 3

    write(chr(i))

    i -= 28

    write(f'{i:02}')

    i = i + i + i + i // 2 + i // i

    write(f'{chr(i)}')

    i += 4
    i = i // 4

    write(chr(i - 13))
    write(f'{i:02}')

    i += 1

    write(chr(i))

    i -= 1
    i = (i * i - i) // ((i + i + 10) // 10) + i + i // i

    write(f'{i:03}')

    i = i // 4
    i += 3
    i = i // 2

    write(chr(i))

    i += i
    i += 5

    write(chr(i))

    i -= 3
    i  = i // 6

    write(f'{i:03}')

    i = i * i + i + i + i + i + i

    write(chr(i))

    i -= 4 * 4
    i = i // 5

    write(chr(i))

    i = i // 2
    i -= 2

    write(f'{i:02}')

    i *= 4
    i -= 10

    write(chr(i))

    i = i + i + i + i + i
    i += i + i + i
    i -= 2

    write(f'{i:03}')


SEPA(25)
print('')
```




Ich finde solche Rätsel ja ganz cool.


----------



## ikosaeder (17. März 2021)

Danke, ich finde sowas auch ganz toll. Ich habe ein paar Abkürzungen genommen und nicht mehr weitergemacht, als ich den Text las.


----------



## Pielo (17. März 2021)

Ihr seid der Hammer, vielen lieben Dank. Wenn ich wiedermal über so etwas stollper, dann weis ich ja wo ich mich hinwenden kann.


----------

