IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Loter
Člen
Avatar
Loter:15.11.2016 22:00

Môj program načíta hodnoty x a y. Následne by mal reverznúž pole od x po y avšak nejako to nefunguje. Neviete prečo?

cin >> x;
cin >> y;
reverse(a.begin()+x,a.end()+(y*10)-1 ); //y je násobok 10
Odpovědět
15.11.2016 22:00
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Loter
Martin Dráb:15.11.2016 23:32

Koncový bod uvádíš až za koncem kontejneru (za jeho end "položkou"). Nestačilo by něco takového?

std::cin >> x;
std::cin >> y;
if (x < y)
  std::reverse(a.begin() + x, a.begin() + y);
else std::reverse(a.begin() + y, a.begin() + x);
Editováno 15.11.2016 23:32
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
15.11.2016 23:32
2 + 2 = 5 for extremely large values of 2
Avatar
Loter
Člen
Avatar
Odpovídá na Martin Dráb
Loter:16.11.2016 16:17

Pomohlo keď som zemnil druhé end na begin.

Nahoru Odpovědět
16.11.2016 16:17
Kto vie dobre programovať, nemusí sa pretvarovať :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.