Odwracanie tablicy.
Ostatnio zmodyfikowano 2016-12-04 19:05
Ketanol13 Temat założony przez niniejszego użytkownika |
Odwracanie tablicy. » 2016-12-04 18:31:33 Witam, napisałem krótki program odwracający tablicę i zapisujący jej odwrotność w samej Sobie lecz wynik jest błędny. Zależy mi na nie używaniu reverse. Proszę o sugestię w celu rozwikłania problemu. #include <iostream>
using namespace std; int tab[ 4 ] = { 1, 2, 3, 4 }; int main() { for( int i = 3; i >= 0; i-- ) { tab[ 3 - i ] = tab[ i ]; } for( int i = 0; i < 4; i++ ) { cout << tab[ i ]; } return 0; } |
|
mokrowski |
» 2016-12-04 18:53:50 Odpowiedz sobie na pytania: 1. Jaki jest ostatni indeks tablicy? 2. Gdzie jest środek tablicy? (podpowiem wynik działania "dzielenie całokowitoliczbowe") 3. Czy kopiować całość tablicy czy jedynie zamieniać miejscami elementy? (podpowiem indeks 1 elementu to: początek + i, indeks 2 elementu to: koniec - i)
Po prostu nie zamieniaj elementów całej tablicy a jedynie "do środka" :-) |
|
Gibas11 |
» 2016-12-04 18:56:58 @up Problem głównie w tym, że on nawet nie zamieniał elementów. @op Zamień po prostu kolejne pary liczb idąc od końców tablicy. for( auto i = 0u; i < 2; ++i ) std::swap( tab[ i ], tab[ 4 - 1 - i ] );
|
|
Ketanol13 Temat założony przez niniejszego użytkownika |
» 2016-12-04 19:05:42 Dzięki za odpowiedź, pozdrawiam :) Temat zamykam. |
|
« 1 » |