Szybkie zerowanie tablicy, bez użycia pętli
Ostatnio zmodyfikowano 2017-08-21 21:29
Trytrihjyuki Temat założony przez niniejszego użytkownika |
Szybkie zerowanie tablicy, bez użycia pętli » 2017-08-21 20:52:53 Czy jest jakiś sposób na szybkie zerowanie (lub zapełnianie każdej komórki określoną wartością to by było lepsze ale zerowanie też mnie zadowoli) tablicy jednowymiarowej bez użycia pętli? Jakaś funkcja? Potrzebuję tego do zadania na OI, rozwiązanie z zerowaniem w pętli mocno mi niszczy czasy. |
|
DejaVu |
» 2017-08-21 20:56:06 |
|
karambaHZP |
» 2017-08-21 20:56:14 #include <iostream>
int main() { constexpr std::size_t size { 10u }; int arr[ size ] { }; for( std::size_t i { }; i < size; ++i ) { std::cout << arr[ i ] << ' '; } std::cout << std::endl; } i jeszcze tak może: #include <iostream> #include <algorithm> #include <array>
int main() { constexpr std::size_t size { 10u }; std::array < int, size > arr { }; std::fill( arr.begin(), arr.end(), 5 ); for( auto const & el: arr ) { std::cout << el << ' '; } std::cout << std::endl; } Zapomniałem, że std::array<> ma metodę, która wypełnia pola podaną wartością: constexpr std::size_t size { 10u }; std::array < int, size > arr { }; arr.fill( 5 ); |
|
Trytrihjyuki Temat założony przez niniejszego użytkownika |
» 2017-08-21 21:19:54 Pierwszy sposób niestety nie działa. Co do drugiego, nigdy się nie bawiłem z biblioteką <array> a kod po wklejeniu się nie chce skompilować, mógłbyś to sprawdzić proszę?
|
|
mateczek |
» 2017-08-21 21:20:16 wątpię aby zerowanie tablicy było problemem nie pozwalającym zmieścić się w limitach !!! każde z rozwiązań jakąś pętlą przejechać tablice musi !!! a pierwszy sposób działa wyśmienicie #include <iostream>
int main() { int tab1[ 10 ] { 0 }; int tab2[ 10 ]; for( int i = 0; i < 10; i++ ) { std::cout << tab1[ i ] << " " << tab2[ i ] << std::endl; } }
|
|
Trytrihjyuki Temat założony przez niniejszego użytkownika |
» 2017-08-21 21:26:32 Wiem, gdyby było to jednorazowe przejście nie martwiłbym się o czas ,ale w pesymistycznym przypadku będzie 1e4 zerowań tablicy o wymiarach 1e4. |
|
mateczek |
» 2017-08-21 21:29:40 no to musisz poszukać innego algorytmu. Zerowania tablicy raczej nie przyspieszysz. |
|
« 1 » |