Minulla on vain nopea kysymys. Olen katsellut internetissä melko paljon ja olen löytänyt muutamia ratkaisuja, mutta mikään niistä ei ole vielä toiminut. Tarkastelen merkkijonon muuntamista int:ksi, enkä tarkoita ASCII-koodeja.
Nopean läpikäynnin vuoksi meille välitetään yhtälö merkkijonona. Meidän on pilkottava se, muotoiltava se oikein ja ratkaistava lineaariset yhtälöt. Sanoessani tämän, en pysty muuntamaan merkkijonoa int:ksi.
Tiedän, että merkkijono on joko muodossa (-5) tai (25) jne., joten se on ehdottomasti int. Mutta miten saamme sen irti merkkijonosta?
Yksi tapa, jota ajattelin, on for/while-silmukan suorittaminen merkkijonon läpi, numeron tarkistaminen, kaikkien sen jälkeisten numeroiden poimiminen ja sen jälkeen katsominen, onko merkkijonossa etumerkki '-', jos on, kerrotaan int -1:llä.
Se vaikuttaa kuitenkin hieman liian monimutkaiselta näin pieneen ongelmaan. Onko ideoita?
käytä atoi-funktiota merkkijonon muuntamiseen kokonaisluvuksi:
string a = "25";
int b = atoi(a.c_str());