<br><br><div class="gmail_quote">Dne 26. listopad 2008 14:18 Pavel Troller <span dir="ltr"><<a href="mailto:patrol@sinus.cz">patrol@sinus.cz</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">> Zdravím,<br>
><br>
> > Zdravím,<br>
> ><br>
> > mám takový problém v C.<br>
> ><br>
> > Ve struktuře mám deklarované pole e (zatím) pevné velikosti. Mám ukazatel na<br>
> > strukturu, ten předávám jako parametr funkci, a chci do pole ukládat<br>
> > hodnoty, ze kterých budu počítat klouzavý průměr. V e_arr_len je uložená<br>
> > délka pole.<br>
> ><br>
> > Takto je deklarované pole (ve struktuře):<br>
> ><br>
> > volatile int16_t e[5];<br>
> ><br>
> > Toto nefunguje:<br>
> ><br>
> > for(uint8_t i=0; i<((*m).e_arr_len-1);i++)<br>
> > (*m).e[i] = (*m).e[i+1];<br>
> ><br>
</div>Zdravím podruhé,<br>
a ještě jeden postřeh: V programu se přiřazuje e_arr_len=5;<br>
Pak v případě cyklu poslední průběh udělá<br>
(*m).e[4] = (*m).e[5], kde tedy pravá strana je jednoznačně<br>
off-by-one přeteklá...<br>
Nebo ne ?</blockquote><div><br>To by nemělo - v cyklu je podmínka "menší než" čili: i<((*m).e_arr_len-1<br><br>Ta -1 je tam kvůli poslednímu prvku, který se vloží až po ukončení cyklu... Když jsem u toho, tak mi teď došlo, že si nejsem jistej, jestli jsem tam ten poslední prvek opravdu vkládal...<br>
<br>No jo, občas se holt člověk musí ztrapnit :-D<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div><div></div><div class="Wj3C7c"> S pozdravem Pavel Troller<br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</div></div></blockquote></div><br>