Pages: [1]   Go Down
Author Topic: Quick question - maximum value  (Read 416 times)
0 Members and 1 Guest are viewing this topic.
Just past the last tree on the left
Offline Offline
Full Member
***
Karma: 0
Posts: 125
Ó Fithcheallaigh
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Just a quick question, is there any way to pick out a maximum value from a list of numbers, like, maybe 100 numbers, maybe more, maybe less  smiley

I know there is the max() function, but it only seems to determine the maximum value between two numbers.

Thanks in advance.

Seán
Logged

Ná bac le mac an bhacaigh is ní bhacfaidh mac an bhacaigh leat.

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17293
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What your asking for is fundamentally a sorting function with variable size as the selection order. Search on sort functions and see what comes up. Knowing how large the number set can get is probably key to selecting the best method.

Lefty
Logged

Just past the last tree on the left
Offline Offline
Full Member
***
Karma: 0
Posts: 125
Ó Fithcheallaigh
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cool, thanks ...I will do.

The range of numbers will be variable, but I'm sure I will find something.

Thanks again.

Seán
Logged

Ná bac le mac an bhacaigh is ní bhacfaidh mac an bhacaigh leat.

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4061
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorting not necessary if we just want the maximum.  Assuming the numbers are in an array, something like this should work (compiles, but I didn't test it):
Code:
   int myNumbers[100], maxValue;
    //assign values to myNumbers somehow
    maxValue = myNumbers[0];
    for (int n=1; n<100; n++) {
        if (myNumbers[n] > maxValue) maxValue = myNumbers[n];
        //or, instead of the if statement above:
        //maxValue = max(maxValue, myNumbers[n]);
    }
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

New Jersey
Online Online
Faraday Member
**
Karma: 67
Posts: 3678
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There may be elegance or performance gains to be had (if you care) by doing this as you load your array. i.e. while you're getting these numbers from whatever source & putting them in the array, check each one against the current max as in Jack Christensen's example.
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3244
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Just a quick question, is there any way to pick out a maximum value from a list of numbers, like, maybe 100 numbers, maybe more, maybe less  smiley

I know there is the max() function, but it only seems to determine the maximum value between two numbers.

Thanks in advance.

Seán

Isn't this one of the first exercises when you are learning how to program any sort of processor?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Just past the last tree on the left
Offline Offline
Full Member
***
Karma: 0
Posts: 125
Ó Fithcheallaigh
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Just a quick question, is there any way to pick out a maximum value from a list of numbers, like, maybe 100 numbers, maybe more, maybe less  smiley

I know there is the max() function, but it only seems to determine the maximum value between two numbers.

Thanks in advance.

Seán

Isn't this one of the first exercises when you are learning how to program any sort of processor?

Obviously, not for me smiley

And Jack Christensen, thanks, I will see if I can get the values put into an array, and see what I can do.

Thanks.
Logged

Ná bac le mac an bhacaigh is ní bhacfaidh mac an bhacaigh leat.

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4061
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You're most welcome, be sure to consider wildbill's suggestion too, elegance always trumps brute force! You also said the list might not be of constant length, so another variable may be appropriate to hold the length of the list. And if for some reason the max can't be calculated as the data is stored in the array, then use that variable as the upper bound in the for loop in my example.

Jack
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Just past the last tree on the left
Offline Offline
Full Member
***
Karma: 0
Posts: 125
Ó Fithcheallaigh
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'll keep that in mind  smiley-lol

Dunno how much elegance my code will have. I am still very much learning. But the more you know, the better you get.

Thanks again.

Seán
Logged

Ná bac le mac an bhacaigh is ní bhacfaidh mac an bhacaigh leat.

Pages: [1]   Go Up
Jump to: