Suma dodatnich wyrazów ciągu

0

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?

1

Uruchom i sprawdź? o_O Ale tak, jest poprawne.

0

Dzięki :)

Zastanawiam się, dlaczego zmiennej suma przypisujemy 0, skoro w tablicy zaczynamy od 1.

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.

0

Spoko, też tak myślałem. Dobrze jest się upewnić :)

1

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

1

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1