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 | 12886 (9721) | Ericssony |
| » | Program v COddelek: Programiranje | 2077 (1916) | darkkk |
| » | [C++] RekurzijaOddelek: Programiranje | 3466 (3207) | A1eN |
| » | [Java] Liha potencaOddelek: Programiranje | 1953 (1847) | bijonda |
| » | c++ in linux/windowsOddelek: Programiranje | 1825 (1701) | rapvirus |