Forum » Programiranje » Mucim se z nalogo C++
Mucim se z nalogo C++
MareMareCare ::
Pozdravljeni.
Trenutno se zelo mucim z nalogo, ki mi je bila dana ze dolgo nazaj in sicer. Napisati moram funkcijo, ki v podanem stevilu tipa int zamenja prvo in zadnjo stevko.
Primer funkcije:
int zamenjaj(int n)
zamenjaj(123456) //izpis 623451.
Hvala za vsako pomoc.
Trenutno se zelo mucim z nalogo, ki mi je bila dana ze dolgo nazaj in sicer. Napisati moram funkcijo, ki v podanem stevilu tipa int zamenja prvo in zadnjo stevko.
Primer funkcije:
int zamenjaj(int n)
zamenjaj(123456) //izpis 623451.
Hvala za vsako pomoc.
Tr0n ::
Ena moznost je, da castas v string oz. char*, zamenjas znak na indexu 0 in lenght in castas nazaj v int.
ERGY ::
Tak, da bo delalo tudi za negativna stevila
#include <iostream> #include <sstream> int zamenjaj(int n) { std::stringstream s; std::string snum; if(n >= 0) { s << n; s >> snum; std::swap(snum[0], snum[snum.length()-1]); return (atoi(snum.c_str())); } else { s << n; s >> snum; std::swap(snum[1], snum[snum.length()-1]); return (atoi(snum.c_str())); } }
Zgodovina sprememb…
- spremenilo: ERGY ()
Genetic ::
int SwapFirstLast(int n) { int s = 1; if (n<0) n*=(s*=-1); int l = n%10; n/=10; int m = n*10; int i = 1; while ((n>0)&&(i*=10)) n/=10; return s*(l*i+m%i+m/i); }
Zgodovina sprememb…
- spremenil: Genetic ()
ERGY ::
int SwapFirstLast(int n) { int s = 1; if (n<0) n*=(s*=-1); int l = n%10; n/=10; int m = n*10; int i = 1; while ((n>0)&&(i*=10)) n/=10; return s*(l*i+m%i+m/i); }
Ta koda je precej boljsa, ker deluje tudi za negativna stevila. Lepo.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# (strani: 1 2 )Oddelek: Programiranje | 12180 (9015) | Ericssony |
» | Program v COddelek: Programiranje | 1949 (1788) | darkkk |
» | [C++] RekurzijaOddelek: Programiranje | 3375 (3116) | A1eN |
» | [Java] Liha potencaOddelek: Programiranje | 1833 (1727) | bijonda |
» | c++ in linux/windowsOddelek: Programiranje | 1743 (1619) | rapvirus |