Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

lekcja 18 praca domowa problem z sumą.

Ostatnio zmodyfikowano 2017-09-06 10:21
Autor Wiadomość
AmbitnyIdiota
Temat założony przez niniejszego użytkownika
» 2017-09-05 23:29:54
@Kinexity wielkie dzięki, genialnie wytłumaczone, na lepszą pomoc nie mogłem trafić :D @baziorek dzięki za dodatki, poczytam o nich trochę więcej.
P-164622
AmbitnyIdiota
Temat założony przez niniejszego użytkownika
» 2017-09-06 00:20:45
const unsigned iloscLiczb = sizeof( liczby ) / sizeof( liczby[ 0 ] );
cout << "Suma wylosowanych liczb: " << accumulate( liczby, liczby + iloscLiczb, 0 )[b/];

To co jest pogrubione nie rozumiem w jaki dokładnie działa sposób.
P-164623
karambaHZP
» 2017-09-06 05:47:43
sizeof( liczby )
 - operator sizeof zwraca w bajtach wielkość całej tablicy. Pamietaj, że w ten sposób można sprawdzać wielkość tablicy w zasięgu definicji tablicy.

std::accumulate() jak pewnie czytałeś w dokumentacji, jest funkcją, która przyjmuje dwa iteratory (początku i końca przedziału) i sumuje wszystkie wartości w przekazanym przedziale od wartości przekazanaj w trzecim argumencie. Pogrubione elementy to adresy, odpowiednio początek tablicy i pierwszy adres za tablicą, które są konwertowane na iteratory. Lepiej zrozumiesz to zagadnienie gdy rozpoczniesz pracę z kontenerami standardowej biblioteki szablonów.

Ważne: sprawdzanie wielkości tablicy operatorem sizeof daje prawidłowy wynik, tylko w zasięgu definicji tablicy. Przekazanie tablicy do funkcji powoduje konwersję adresu początku tablicy na wskaźnik i wtedy operator sizeof zwróci wielkość wskaźnika (4 lub 8 bajtów). Lepiej deklarować wielkość tablicy stałą z góry ustaloną wielkością lub skorzystać z np. std::vector, który dynamicznie przydziela elementy i zwraca wielkość tablicy metodąstd::vector::size()
P-164624
AmbitnyIdiota
Temat założony przez niniejszego użytkownika
» 2017-09-06 10:21:27
Okej już rozumiem, dziękuje.
P-164627
1 « 2 »
Poprzednia strona Strona 2 z 2