Odpowiedź @redysz 'a była, jeżeli mogę tak się wyrazić, odpowiedzią retoryczną [skoro jest takie pytanie, to czemu odpowiedź nie miałaby też taka być?]
PS Bardzo dobrze, że umieściłeś w swoim poście link do samego zadania, ale czy aż dwa razy, to już nie lekka przesada!? [pytanie retoryczne]
tab[j]=tablica[a]; czy na pewno to chciałeś zrobić?
A z innej beczki... kto mi wyjasni ten output: [był link] ? Chodzi mi o pierwszą dwójkę w pierwszym wierszu. Rozumiem, że z linijki cout<<tab[j]<<endl; i inputu 4 1 2 3 5, ale w zasadzie czemu czwórka się nie wyświetla? Edit... a już ogarnąłem, zapomniałem o tym jaką rolę spełnia pierwsza z liczb.
Nie wiem, czy to poprawne, ale ogólnie to chodziło mi o to, że każda nieparzysta wartość jest przypisywana do kolejnej szufladki innej tablicy, żeby potem móc je wyświetlić po kolei w osobnej pętli.
To ja wiem, ale wczytujesz do jednej tablicy cin >> tab[j] i to właśnie do niej przypisujesz wartość z drugiej tablicy, która wartości żadnych jeszcze nie ma tab[j]=tablica[a];. Później wyświetlasz dane z drugiej tablicy (cout<<tablica[j];) do której nie przypisałeś żadnych wartości.
[tu był kod] okej, ale wpisując cin>>tab[j] tablica tab dostaje jakąś wpisaną wartość, w powyższym kodzie odwróciłem te tablice względem znaku równości (tablica[a] = tab[j]) jednak to wciąż nic nie daje, a przecież w takim układzie przypisuje tablicy tablica wartości tablicy tab.
Zgadza się, poprawiłeś jeden (krytyczny) błąd. Jest ich masa więcej, ale ten uniemożliwiał dochodzenie. Teraz można dalej: czy w zadaniu (tym co dwa razy wkleiłeś) wyniki są wyświetlane wsposóbotakibezspacjilubz ogromną ilością enterów?
Popraw więc dwa kolejne błędy: cout<<tab[j]<<endl; i cout<<tablica[j]; oraz zastanów się kiedy chcesz wyświetlić nowy wiersz. Jak to zrobisz to... nadal będzie źle, ale już można będzie ogarnąć skąd te dziwne liczby.
Wklejaj też kod do ideone wraz z inputem ze spoja. Jak to zrobisz porównuj swój out z tym z zadania.
Jeżeli masz problemy z uzyskaniem AC, to pierwsze co robisz, to jeszcze raz [lub może pierwszy raz;-)] czytasz uważnie treść zadania.
Jeżeli nadal nie AC, to czytasz ewentualnie [najczęściej bezsensowne ale czasami nie] komentarze pod zadaniem.
Następnie wyszukujesz temat zadania na forum, szukasz i czytasz.
Dopiero potem powinieneś pytać na forum.
PS Czy wiesz co na ideone znaczy stdin oraz: "Standard input is empty"? Gdyby nie był empty, oznaczałoby to, że chociaż [dodatkowo] testujesz w taki właśnie sposób, na ideone.com, a tak, skąd mogę wiedzieć czy i jak to robisz w ogóle?
PS 2 Mimo wszystko, masz u mnie małego + [a może nawet dużego
Uch, po 22 godzinach, siedziałem chwilę nad tym kodem i przyznaję, że nie chce się poddać, ale wciąż nie widzę błędu, nie mam pojęcia skąd te dziwne liczby, oddzieliłem endl. Nie poddam się, ale jak ktoś mnie trochę "kopnie" jeszcze do przodu to tez będę wdzięczny
Edit: Nie, że 22 godziny siedziałem, tylko że tyle minęło rzecz jasna
U mnie dużego, ale nie za niewysyłanie błędnego kodu (dawanie plusików osobom, które nie wysyłają kodu nie działającego dla przykładowych danych to trochę jak dawanie plusików aptekarzom za to, że raczyli sprzedać wodę utlenioną ), a za walkę. Z tego powodu podpowiedź będzie większa niż zwykle. Przynajmniej według mnie
Po kodzie zgaduję, że nie masz wprawy w C++. Stąd polecam Ci napisać kod prościej, a ewentualnie wskaźniki wykorzystać po uzyskaniu AC - małymi kroczkami do celu.
1) zrób jedną duuużą tablicę, np. na 1000 elementów. Wówczas wejście na pewno Ci się zmieści, a używanie jednej tablicy o stałym rozmiarze jest prostsze niż new i delete. 2) dobrze wczytujesz t i n. Przy takiej tablicy jak napisałem będziesz pracować na elementach od 0 do n więc żadna zmiana z powodu 1) nie nastąpi na tym etapie 3) po wczytaniu liczb do tablicy (w takiej kolejności jak są na wejściu - nie kombinuj tu tylko na etapie ich wypisywania) w kolejnej pętli wypisuj je zgodnie ze specyfikacją zadania. Pamiętaj o spacjach (cout << " ") i endl
Oczywiście Twój pomysł może być dobry, a nawet lepszy od mojego. Sądzę jednak, że mój jest prostszy - wczytaj wejście w jednej trywialnej pętli bez zbędnego analizowania wczytywanych liczb, a w drugiej wypisz najpierw liczby na pozycjach takich a potem na siakich.
Jeżeli jednak wolisz swoje rozwiązanie, z pewnością inne osoby Ci z tym pomogą (ja niestety nie mam czasu wczytywać się w kod)
Jestem pewien, że gdybyś przeznaczył tylko 15 minut z "tych 22 godzin" [w cudzysłowiu] na dokładne przeczytanie treści zadania, nie potrzebowałbyś ich aż tylu. Moja rada, przeczytaj w końcu, zrozum o co chodzi i zacznij od początku, tak, żeby twój program próbował robić to co wymagane jest w zadaniu, a nie twoje błędne wyobrażenie o tym co jest wymagane.
Dobra, teraz mi głupio, bo rzeczywiście nie zrozumiałem zadania, dostałem AC, jestem Wam wdzięczny za pomoc, chociaż jest mi głupio to jestem zadowolony; Jak też słusznie zauważyliście nie jestem zbyt biegły w c++, to jeszcze ciągle moje początki z programowaniem Wrzuciłbym kod, ale myślę, że w ten sposób nie pomogę nikomu w niczym
Pomógłbyś, tzw cheaterom, osobom kopiującym gotowe kody. Inne osoby i tak tego nie będą czytać, tylko od razu zadawać na nowo stare pytania, więc błędne kody można spokojnie zostawić w "prezencie" dla bezmyślnych kopiarzy.