Funktion Programmieren?

2 Antworten

Du läufst mit einer while-Schleife durch den Array, bis du den gesuchten Buchstaben gefunden hast. Während der Schleife zählst du eine Indexvariable hoch

Pseudocode

integer i = 0 // dein Index
while (buchstaben[i] != 'w') {
i++ //Index immer um eins hochzählen
}
printLine('Gefunden bei ' & i + 1) // Index plus 1 gibt die Position. Weil Index startet bei 0
kabik334 
Fragesteller
 06.11.2023, 18:46

setzt dein code nicht vorraus das ich bereits weiß nach welchen wort bzw buchstabe ich suche ?

0
verreisterNutzer  06.11.2023, 18:49
@kabik334

Achso, du weißt den Buchstaben net?

Naja kann man ja leicht ändern

integer i = 0 // dein Index
char gesucht
while (buchstaben[i] != gesucht) {
i++ //Index immer um eins hochzählen
}
printLine('Gefunden bei ' & i + 1)

Jetzt könntest du natürlich den gesuchten Buchstaben noch über eine Eingabe einlesen.

1
def search(s,n): # s=String/char array, n=needle
   return s.find(n)

*scnr*, in der Aufgabe steht ja nicht, daß Du die Suche selbst implementieren sollst :D.

Du vergleichst Needle und Haystack zeichenweise, bei einer Zeichenabweichung, schiebst Du die Needle weiter. Sind die Zeichen in Needle und Haystack über die Länge der Needle gleich, gibst Du die Position der Needle zurück. Kannst Du die Needle nicht weiterschieben, dann gibt es kein Match und Du gibst bspw. -1 zurück.