forSchleifen mir Arrays



  • ich habe eine Frage, ob folgender C Code korrekt ist:

    for( t = ziel[n]; t < (t + p[n]); t++)
    	{
    	arrayRi[t] = arrayRi[t] + zielRiRi[n];
    
    	}
    

    ist so etwas möglich?? Denn bei mir wird nichts ausgegeben, und die Arrays sind alle gefüllt...



  • Möglich ist so was schon, aber sofern arrayRi und p sich nicht überschneiden, hast du da entweder eine Endlosschleife (falls p[n] > 0), oder die Schleife wird gar nicht erst betreten.

    Deine Schleifenbedingung t < (t + p[n]) ist das selbe wie 0 < p[n] und dementsprechend nicht direkt von der Laufvariable abhängig.



  • Wie bekomme ich es hin, dass ich es von t oder bzw ziel[b] abhängig ist??



  • Äh...da gibt es knapp unendlich viele Möglichkeiten. Was willst du denn eigentlich erreichen?



  • ich will, dass sich arrayRi[] mit Werten füllt, die ich am Ende ausgebe.
    Also anfangs alles leer und dann werden diese Stellen einzelt befüllt.
    ziel[] gibt die anfängliche Position an, wo zuerst befüllt werden soll, und p[] gibt die Anzahl der zu befüllenden Positionen hintereinander an.
    zielRiRi[] gibt die Menge der an, die befüllt wird.
    Es soll so eine Treppenfunktion werden. Die Idee passt ja, nur beim Umsetzen macht das Programm nicht, was ich brauche.



  • Vielleicht so. Dann wäre es eher ein Aufaddieren als ein Befüllen.

    for( t = ziel[n]; t < (ziel[n] + p[n]); t++)
        {
        arrayRi[t] = arrayRi[t] + zielRiRi[n];
    
        }
    

Anmelden zum Antworten