Funktion Programmieren?
Ich soll eine Funktion schreiben die das erste Vorkommen eines Wortes w in einem char-Array in T zu finden. Die Funktion soll den Index zurückgeben, an der das Wort beginnt. Ich weiß nicht wie ich das angehen soll . Ich muss es in Pseudocode und in Python machen. Hab schon einiges probiert bzw mit Chat GPT verglichen aber ich blicks net. Angenommen ich Habe einen Text T [H,a,l,l,o, , w,a,s, , g,e,h,t] gesuchtes Wort w z,b was
erstmal muss ich ja das wort finden kp wie ich das anstelle und dann noch den anfangs buschstaben bzw den index .Ich habe keinen Ansatz wie ich darauf kommen soll. Zu dem muss ich alles noch in eine Funktion verpacken was mir ohne Bsp sowie so schwer fällt .Kann mir jemand bitte helfen ,selber komm ich nicht drauf.
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
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.
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.
setzt dein code nicht vorraus das ich bereits weiß nach welchen wort bzw buchstabe ich suche ?