a problem that i wont solve in 5 mins after posting this
#1

(hopefully)

this one doesn't work :O

stock GetHighestNumberEx(num[])
{
new highesty = 0;
for (new i = 0; i<sizeof(num[]);i++)
{
if (num[i] > highesty) { highesty = num[i]; printf("%d > %d",highesty,num[i]); }
}
return highesty;
}

Suposed to loop throught an array to find the highest number. I tried many arrays, but it seems to allways return 0.
any idea why?
Reply
#2

Your sizeof won't work like that, I was able to fix it by adding an additional parameter called size which defaults to the size of the first parameter using sizeof, tested and it works fine.

pawn Код:
stock GetHighestNumberEx(num[], size = sizeof(num))
{
    new highesty = 0;
    for (new i = 0; i < size; i++)
    {
        if (num[i] > highesty) { highesty = num[i]; printf("%d > %d",highesty,num[i]); }
    }
    return highesty;
}
Tested with:

pawn Код:
new array[] = {1,4,2,1,4,55,242,2,1,4,22};

printf("Highest is %d", GetHighestNumberEx(array));
Hope that helps
Reply
#3

o.o Thanks. Really didnt script in a long time mate, thanks.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)