Suma dodatnich wyrazów ciągu:
ALG(A[1...n])
suma <-- 0
i <-- 1
while i <= n
do if A[i] > 0
then suma <-- suma + A[i]
i <--- i+1
return suma
Czy jest poprawnie napisany?
Suma dodatnich wyrazów ciągu:
ALG(A[1...n])
suma <-- 0
i <-- 1
while i <= n
do if A[i] > 0
then suma <-- suma + A[i]
i <--- i+1
return suma
Czy jest poprawnie napisany?
Uruchom i sprawdź? o_O Ale tak, jest poprawne.
Dzięki :)
Zastanawiam się, dlaczego zmiennej suma przypisujemy 0, skoro w tablicy zaczynamy od 1.
W tablicy zaczynasz od elementu pierwszego, to nie ma nic wspólnego z sumą. Suma na początku jest równa zero, to chyba logiczne.
Spoko, też tak myślałem. Dobrze jest się upewnić :)
To jest dobrze, o ile to "do" w "while" obejmuje także to "i <--- i+1". Bo jeśli nie, to będzie zapętlenie ("i" się nie będzie modyfikowało) :p
To jest dobrze, o ile to "do" w "while" obejmuje także to "i <--- i+1". Bo jeśli nie, to będzie zapętlenie ("i" się nie będzie modyfikowało)
Zapewne jest to pisane w stylu z Cormena (instrukcje wewnątrz pętli pokazują wcięcia) więc się nie zapętla.