Array-auslese-Problem



  • Hallo mal wieder,

    Beschäftige mich gerade mit Feldern und wie man darin Navigiert.
    Da bin ich auf ein Problem gestoßen:

    Wie kann ich in einem Feld sagen wir [1|7|3|9|4|8|10] eine Zahl suchen und dannach ab der nächsten Stelle (der gefundenen Zahl) das Array weiter durchlaufen?

    Also ich mein in etwa so:

    int feld[6];
    for(j=0; j<6; j++)
    {
    if (feld[j]==3)
    irgentwas
    }

    //und dann ab der Stelle 3 weiterlaufen lassen und z.B. die 8 suchen

    for (i=(feld[i]==3); i<6; i++)
    {
    if (feld[i]==8)
    irgentwas
    }

    Für Tips wäre ich sehr dankbar,

    Agrippa



  • indem du dir einfach die stelle des Wertes im Array in deiner ersten Schleife merkst, und dann in der zweiten von da anfängst? wo is das problem?



  • z.B.

    int feld[6], marke; 
    for(j=0; j<6; j++) 
    { 
     if (feld[j]==3) 
     marke = j; 
    } 
    
    //und dann ab der Stelle 3 weiterlaufen lassen und z.B. die 8 suchen
    
    for (i=marke; i<6; i++) 
    { 
     if (feld[i]==8) 
     irgentwas 
    }
    

    shizzo



  • for (int i=0; i< 6; i++)
    {
    
      if (feld[i]==8)
         //irgentwas
    }
    

    nachdem ehr "irgendwas" gemacht hat, wird die scheife beim nächsten array indes fortfahren..



  • Danke,
    des mit dem merken/Marke war ein guter Tipp. Jetzt tun sich aber weitere Probleme auf, wie so oft wenn eins beseitigt ist.

    Das versteh ich hingegen nicht so ganz:

    BorisDieKlinge schrieb:

    nachdem ehr "irgendwas" gemacht hat, wird die scheife beim nächsten array indes fortfahren..

    ich hab ja nur ein Array, bei welchem soll die Schleife fortfahren (nicht zu verwechseln mit"wegfahren" 🙂 )
    Oder ist Arrayelement gemeint?

    Grüße,
    Agrippa



  • ja der ArrayIndex ist gemeint, da hat er sich leider verschrieben 😉


Anmelden zum Antworten