Hirdetés
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- bitpork: 2025, zárás
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sh4d0w: Kalózkodás. Kalózkodás?
- Pajac: 27 ezer kilométerrel közelebb, mint átlagosan
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- Brogyi: CTEK akkumulátor töltő és másolatai
-
LOGOUT

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
kovisoft
#16716
üzenetére
Azt hiszem, hogy sikerült mind a 2 pontodat kiküszöbölnöm:
int patoi(const char* str)
{
char* temp = 0, neg = 0;
int i;
while (isspace(*str)) str++;
if (*str == '-')
{
str++;
neg = 1;
}
else if (*str == '+') str++;
while (*str == '0') str++;
temp = str;
while (*temp)
{
if (!(*temp >= '0' && *temp <= '9')) break;
temp++;
}
temp--;
i = 1;
int ret = 0;
for (; temp >= str; temp--)
{
if (*temp >= '0' && *temp <= '9')
{
ret += ((*temp - '0') * i);
}
else break;
i *= 10;
}
if (ret < 0 && !neg) ret = INT_MAX;
else if (neg)
{
if (ret == INT_MAX)
{
char arr[11];
strncpy(arr, str, 10);
arr[10] = '\0';
if (!strcmp(arr, "2147483647")) ret = INT_MIN + 1;
else ret = INT_MIN;
}
else ret *= -1;
}
return ret;
}A futásidő kb. ugyanaz, mint az atoi(..)-nek. Általában kicsit gyorsabb. Mégsem lettem zseni.

De azért nézzétek át légyszi, hogy ebben találsz-e hibát. -
pmonitor
aktív tag
válasz
kovisoft
#16716
üzenetére
Szomorú vagyok.

Az 1. pontoddal még nem tudtam mit kezdeni. A 2. pontoddal igen, úgy, hogy a végén printf(...)-el kiírattam val értékét. Módosítással most kb. azonos időben futnak le(az enyém határozottan gyorsabb). Jelenleg ez a függvényem:
int patoi(const char* str)
{
char* temp = 0, neg = 0;
int i;
while (isspace(*str)) str++;
if (*str == '-')
{
str++;
neg = 1;
}
else if (*str == '+') str++;
while (*str == '0') str++;
temp = str;
while (*temp)
{
if (!(*temp >= '0' && *temp <= '9')) break;
temp++;
}
temp--;
i = 1;
int ret = 0;
for (; temp >= str; temp--)
{
if (*temp >= '0' && *temp <= '9')
{
ret += ((*temp - '0') * i);
}
else break;
i *= 10;
}
if (neg) ret *= -1;
return ret;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Kuponkunyeráló
- Xiaomi 15 Ultra - kamera, telefon
- AMD GPU-k jövője - amit tudni vélünk
- Kompakt vízhűtés
- Víz- gáz- és fűtésszerelés
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Szeged és környéke adok-veszek-beszélgetek
- 5.1, 7.1 és gamer fejhallgatók
- PlayStation 5
- Autós topik
- További aktív témák...
- HP E24m G4 Monitor FHD IPS webkamerával, Windows Hello-támogatással
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/16GB/512SSD/FHD/garancia!
- Lenovo ThinkPad X1 Carbon 9th i7-1165G7/16GB/512/FHD/Magyar
- Eladó tökéletes állapotban lévő Nikon D3200
- PlayStation 5 Slim lemezes 1TB, makulátlan állapotban, 6 hó gyári garanciával, Bp-i üzletből eladó!
- S. Mario PC! Hogy fusson a Super Mario! I5 14400F / RX 6900XT 16GB / 32GB DDR5 / 1TB SSD
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude E5440 - i5-4GEN I 4GB I 320GB I 14" I HDMI I Cam I W10 I Gari!
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3370,94% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



