Strona 1 z 1
[C++] lista jednokierunkowa, suma wartości elementów (co 2)
: 14 sty 2013, o 08:42
autor: anilahcim
To mój kod:
Kod: Zaznacz cały
double suma_co2(wezel* glowa)
{
double suma = 0;
while(glowa->nast!=NULL)
{
suma += glowa->wartosc;
glowa = glowa->nast->nast;
}
return suma;
}
Nie wiem, co zrobić, żeby program działał zarówno dla parzystej, jak i nieparzystej liczby elementów... Jeśli jest parzysta, program przerywa.
[C++] lista jednokierunkowa, suma wartości elementów (co 2)
: 14 sty 2013, o 08:50
autor: Ser Cubus
a spróbuj dać warunek w while
[C++] lista jednokierunkowa, suma wartości elementów (co 2)
: 14 sty 2013, o 13:01
autor: anilahcim
To nie zadziała - wtedy nie będzie sumowany ostatni albo przedostatni element.
[C++] lista jednokierunkowa, suma wartości elementów (co 2)
: 14 sty 2013, o 17:47
autor: Ser Cubus
co prawda liste znam tylko z teorii, ale możesz odwoływać się do elementów w przód i w tył o ile się nie mylę, jeżeli tak to spróbuj:
Kod: Zaznacz cały
glowa = glowa->nast->nast != NULL
// cofnij głowę o 1 element
dalszy kod
[C++] lista jednokierunkowa, suma wartości elementów (co 2)
: 14 sty 2013, o 18:23
autor: royas
Będzie dobre?
Kod: Zaznacz cały
while(glowa != NULL) {
suma += glowa->wartosc;
glowa = glowa->nast;
if (glowa != NULL) glowa = glowa->nast;
}