[C++] Zamiana elementów tablicy - cyklicznie w lewo
Ostatnio zmodyfikowano 2019-10-28 22:19
Biedrzyk Temat założony przez niniejszego użytkownika |
[C++] Zamiana elementów tablicy - cyklicznie w lewo » 2019-10-26 22:11:29 Witajcie, mam kolejny problem - robię zadanie ze spoj-a PTROL - ROL o cyklicznym przesuwaniu elemntow tablicy w lewo - i jak na razie moje wypociny wyglądają tak: #include <iostream>
using namespace std;
int main() { int proby[ 10 ]; int pierwszy = proby[ 0 ]; int x; cin >> x; for( int i = 0; i < x; i++ ) { for( int i = 0; i < 10; i++ ) { cin >> proby[ i ]; } cout << endl; for( int i = 0; i < 10; i++ ) { proby[ i ] = proby[ i + 1 ]; proby[ 10 ] = pierwszy; cout << proby[ i ] << " "; } } return 0; }
przesuwa mi wszystkie liczby w lewo ale jako ostatnia wskakuje jakaś randomowa, mimo tego, że ustaliłem, że ma być wstawiana proby[0] :/ |
|
pekfos |
» 2019-10-27 10:08:04 int pierwszy = proby[ 0 ];
|
Jaki to ma sens, tam gdzie to jest? Poza tym to jest SPOJ - masz tylko wypisać obróconą tablicę, a nie ją faktycznie obracać. |
|
Biedrzyk Temat założony przez niniejszego użytkownika |
» 2019-10-27 20:43:38 Proszę o wyrozumiałość - jestem początkujący ;) w założeniu chodziło mi o to, żeby przypisać ostatniemu elementowi wartość pierwszego sprzed przesunięcia ale nie za bardzo mi to wyszło :/ |
|
pekfos |
» 2019-10-27 21:02:45 Linia którą zacytowałem jest w kompletnie złym miejscu, żeby miała sens. Czytasz z niezainicjalizowanej tablicy. Samo obracanie też jest źle, przekraczasz zakres tablicy. |
|
Biedrzyk Temat założony przez niniejszego użytkownika |
» 2019-10-27 23:26:26 #include <iostream>
using namespace std;
int main() { int proby[ 10 ]; int x; cin >> x; for( int i = 0; i < x; i++ ) { for( int i = 0; i < 10; i++ ) { cin >> proby[ i ]; } cout << endl; for( int i = 0; i < 10; i++ ) { int pierwszy = proby[ 0 ]; proby[ i ] = proby[ i + 1 ]; proby[ 10 ] = pierwszy; cout << proby[ i ] << " "; } } return 0; }
dlaczego przekraczam? przy warunku i < 10 nie wychodzę chyba poza tablicę (wiem, że od 0 liczymy pierwszy element) |
|
pekfos |
» 2019-10-28 06:42:24 Więc wiesz, że indeks 10 jest niedozwolony. Masz podane wprost 10 i i + 1 też osiąga 10. |
|
Biedrzyk Temat założony przez niniejszego użytkownika |
» 2019-10-28 22:19:46 Ajjj widzisz głupi błąd, dzięki za podpowiedź! :D |
|
« 1 » |