Pytanko co do kodu: https://pastebin.com/vZt7LHRZ
Czy drugie for zaczyna się wykonywać kiedy pierwszy for będzie fałszywe?
+ co dokładnie robi drugie for? Czemu inicjacja zmiennej to j=n-1? I po co tam ten if w forze?
Czy klamry tutaj mają większe znaczenie, tj. czy jakby ich nie było to czy kod pokazywałby to samo?
#ansic #cpp #naukaprogramowania
Czy drugie for zaczyna się wykonywać kiedy pierwszy for będzie fałszywe?
+ co dokładnie robi drugie for? Czemu inicjacja zmiennej to j=n-1? I po co tam ten if w forze?
Czy klamry tutaj mają większe znaczenie, tj. czy jakby ich nie było to czy kod pokazywałby to samo?
#ansic #cpp #naukaprogramowania
konto usunięte via iOS
@laczka: Paniczu, nie jestem jeszcze Panem ( ͡° ͜ʖ ͡°)
A co do tego kodu to jeszcze to:
Zmieniłbym na to:
\n - przechodzi do nowej linii.
Na koniec dodam, masz tam w zadaniu podane wejście, więc zrób sobie kilka wersji tego kodu i porównaj wyniki. Nie wiem z czego się uczysz, ale warto sięgnąć po aktualne książki a co do C++ to nie używaj
A co do tego kodu to jeszcze to:
printf("%d",tab[j]);
Zmieniłbym na to:
printf("%d\n",tab[j]);
\n - przechodzi do nowej linii.
Na koniec dodam, masz tam w zadaniu podane wejście, więc zrób sobie kilka wersji tego kodu i porównaj wyniki. Nie wiem z czego się uczysz, ale warto sięgnąć po aktualne książki a co do C++ to nie używaj
1 2 3 4 - > 2 4 1 3
Kombinowałem z std::rotate, ale jedyne co udało mi się wyciągnąć to 1 2 3 4 -> 3 4 1 2
#cpp #naukaprogramowania #algorytmy
proste i szybkie, ale nieoptymalne pamięciowo - stwórz drugi vector, zrób reserve, ładuj push_backiem elementy parzyste, potem nieparzyste, a następnie swap. na każdym elemencie move zostanie wykonane tylko raz.
auto isIndexEven = [i = 0] (auto) mutable { return ++i % 2 == 0; };
std::stable_partition(std::begin(vec), std::end(vec), std::ref(isIndexEven));