Wpis z mikrobloga

Mirki jest taki problem. mam mapę w mapie (std::map > map_1;) i w niej mam dane np
13 21 ala

potrzebuje zmniejszyć klucz tej głównej mapy ( 13 w przykładzie) o jeden , jest jakiś sposób ? szukam i szukam i nie mogę nić znaleźć

#pomocy #programowanie #c++
  • 9
@Dawav: Można to zrobić bardziej finezyjnie, ale tak jak jest powinno zadziałać. Musisz pamiętać, że kluczy w mapie tak naprawdę nie można zmieniać. Można jedynie usunąć jedną wartość i wstawić ją pod inny klucz, i to właśnie ten kawałek kodu ma robić. Być może musisz też przewidzieć taką sytuację, że pod kluczem 12 w tej mapie już coś będzie (nie znam konkretnego zastosowania).
@glonstar właśnie mam tak że każdy pokolei chce cofnąć o jeden Ale w sumie mógłbym też zrobić kopię tej mapy ... I dodawać z kopii do tej głównej ( ͡º ͜ʖ͡º)
Chyba że jest. Lepszy sposób
@Dawav: Zacznij przesuwać od najmniejszego elementu do największego, każdy o jedno w dół. Wtedy nic Ci się nie nadpisze. Np. jeżeli masz klucze 2, 3, 5, 8, 13, to przesuwasz 2->1, 3->2, 5->4, 8->7, 13->12.