Średnia ważona z nieokreśloną liczbą argumentów
Ostatnio zmodyfikowano 2017-12-20 00:32
koot Temat założony przez niniejszego użytkownika |
» 2017-12-19 23:13:04 Nie wiem, co ma być w pętli. for(i=0;i<n;i++) va_arg(ap,double)*coś? Nie mógłbyś proszę po prostu mi pomóc, jeśli to łatwe dla ciebie..? Siedzę nad tym od dłuższego czasu i zaciąłem się na tej pętli. Nie wiem, jak ruszyć dalej. |
|
pekfos |
» 2017-12-19 23:24:41 for( int i = 0; i < n; ++i ) { double a = va_arg( ap, double ); double p = va_arg( ap, double ); } |
|
koot Temat założony przez niniejszego użytkownika |
» 2017-12-19 23:29:39 Gdy wpisuję w tę pętlę np. if(p<0) return 0; wyskakuje błąd niezgodności typów... Chyba, że powinienem dać tam samo p bez indeksu?
|
|
pekfos |
» 2017-12-19 23:32:33 Zmienna i jest tu tylko do sterowania pętlą. a i p to z definicji i-te elementy i w szczególności nie są to tablice. |
|
koot Temat założony przez niniejszego użytkownika |
» 2017-12-19 23:35:07 Racja. Coś takiego? if(p<0) return 0; else if(p>1) return 0; else {srednia=srednia+a*p; return srednia} |
|
pekfos |
» 2017-12-19 23:39:56 Nie. Te else tu nic nie wnoszą, a z funkcji nie powinieneś tak po prostu wyjść, bez użycia va_end. return srednia w tym momencie nie ma żadnego sensu, bo średnia nawet nie jest jeszcze do końca obliczona. |
|
koot Temat założony przez niniejszego użytkownika |
» 2017-12-19 23:41:47 Ale miałem na myśli, czy coś takiego mogę wrzucić do pętli for? Te warunki sprawdzające aktualne p? |
|
pekfos |
» 2017-12-20 00:03:20 Wszystko można wstawić do pętli. W granicach rozsądku, oczywiście. |
|
1 2 « 3 » 4 |