Suche ein Word in einer Kette

Gast #2580250
Lesenswert?

Hi,
ist es möglich ein Word in einem String zu suchen ohne strcat zu 
benutzen.
Die Funktion, die ich geschrieben habe, funktioniert nur wenn es mit das 
String mit b anfängt.

danke

void search(void)
{
char MyArray[6][6]={"mybit","bit",fistbit",sbsiti","hallo"};
char MYWord[6]="bit";
for(int i=0i<6;i++)
  {
    for(int j=0;j<6ji++)
       {
         if(MYWord[i] == MyArray[i][j])
                {
                    Resultat[i]= MYWord[i];
                }
       }
 }

}
Gast #2580266
Lesenswert?

Im der ersten for-Schleife fehlt ein Semikolon, in der zweiten auch und 
einmal steht i statt j (i++ in der zweiten).

Word findest du im Mediamarkt, ist ein Programm von Microsoft, was du 
suchst ist ein Wort.
Gast #2580397
Lesenswert?

>bekomme ich Hilfe für das Problem?

Ganz offen gesagt, zeigt Dein Code als auch Deine Fragestellung,
das Du viel grundlegendere Probleme mit C hast.
Die Antworten beziehen sich erstmal auf diese.
Sobald diese gelöst sind, kann man sich dann an die "höheren" Probleme 
machen.

Bitte poste als erstes Code, der ohne Fehler und Warnungen kompilierbar 
ist.
Solche Antworten
>ja kleiner Fehler beim eintippen
sind Motivationskiller für viele hier.
Tippe also bitte nicht ein, sondern nutze CopyNPaste von "echtem" Code.
Gast #2580419
Lesenswert?

nicht getestet aber könnte funzen:
1
void search(void)
2
{
3
    char MyArray[6][6]={"mybit","bit",fistbit",sbsiti","hallo"};
4
    char MYWord[6]="bit";
5
    #define SIZE_OF_WORD 3
6
    int k;
7

8
    for(int i=0; i<6; i++)
9
    {
10
        k = 0;
11
        for(int j=0; j<6; j++)
12
        {
13
            if(MYWord[k] == MyArray[i][j])
14
            {
15
                Resultat[k]= MyArray[i][j];
16
                k++;
17
            }
18
        }
19
        if( k+1 < SIZE_OF_WORD )  //wenn wort nicht komplett -> ergebnis loeschen
20
        {
21
            Resultat[0] = '\0';
22
        }
23
    }
24
}
#2581145
Lesenswert?

Anfänger schrieb:
> nur kritik aber keine Lösung,Wenn es Hausaufgabe dann möchte ich nur
> wissen wie das funktionniert und nächste mal nicht mehr fragen.


Erst mal das Problem in 2 Teilprobleme aufteilen.

Das erste Teilproblem ist eine Funktion die 2 STrings bekommt und 
feststellt, ob der eine im anderen enthalten ist.

Mit der Lösung dieses ersten Teilproblems geht man dann das zweite 
Teilproblem an: Das ursprüngliche Array ein Wort nach dem anderen 
durchgehen und unter Zuhilfenahme der Funktion aus dem ersten 
Teilproblem feststellen, in welchem Wort aus dem Array das gesuchte Wort 
enthalten ist.

Die Aufgabe ist nicht schwer. Nur benötigt es
a) ein bischen Vorarbeit mit Papier und Bleistift um sich klar zu machen
   was denn eigentlich "enthalten sein" bedeutet. Wie löst du das
   Problem denn mit der Hand, wenn die Lösung "Ich schau einfach hin
   und weiß die Lösung" nicht zulässig ist?

b) ein bischen Planung um das komplette Problem in (für dich)
   handhabbarere Teilprobleme zu zerlegen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren