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]; }