Newsgroup: it.comp.lang.c++
Titolo: il maggiore e/o  il minore

Ciao avrei una domanda (ma che novita^_^)vorrei sapere se c'e un modo per
sapere quale sia il numero maggiore o minore immesso tra una serie di
numeri(anche non definiti come quantita')che sia differente dal far
controllare al programma ogni numero singolarmente rispetto agli altri e
dare un risultato.
Grazie per la cortese attenzione.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 dare un risultato.
Senza poter fare confronti?
Sfera di cristallo, forse?
:-)
Spiegati meglio.
SiMoStro

 dare un risultato.
Ciao,
Secondo me quello che vuoi è che il programma non faccia un controllo su
tutto l'array ogni volta che inserisci un numero...vero? allora dovresti
fare una cosa del tipo:
#include <iostream.h>
void main(void) {
    int max = 0;
    int numeri[10];
 //Il primo fuori dal ciclo per fare max = numeri[0]
    cout<<"Inserisci un numero: ";
    cin>>numeri[0];
    max = numeri[0];            // Fa che il primo sia il maggiore
    for(int i=1;i<10;i++) {
        cout<<"Inserisci un numero: ";
        cin>>numeri[i];
        if(numeri[i]>max)                // Controlla se il nuovo numero è
maggiore di max
                max = numeri[i];        //  Se è cosi assegna a max il nuovo
valore
    }
    cout<<endl<<endl;
    for(i=0;i<10;i++)
        cout<<i<<". "<<numeri[i]<<endl;
    cout<<endl<<"Massimo: "<<max;
}
Se vuoi invece sapere quale è il minore devi cambiare la condizione del IF a
numeri[i]<min
Era quello che volevi sapere?


Si era proprio questo, ringrazio molto mi hai risparmiato un agonia^_^.


A wrote:
 >  //Il primo fuori dal ciclo per fare max = numeri[0]
 >
 >     cout<<"Inserisci un numero: ";
 >     cin>>numeri[0];
 >     max = numeri[0];            // Fa che il primo sia il maggiore
 >
Propongo una modifica cosě non hai il primo assegnamento fuori dal for e 
non duplichi cin/cout:
  #include <iostream>
  #include <limits>
  #define MAX_NUMS 10
  void main(void) {
      int max = INT_MIN;
      int numeri[MAX_NUMS];
      for(int i=1;i<MAX_NUMS;i++) {
          cout<<"Inserisci un numero: ";
          cin>>numeri[i];
          if(numeri[i]>max)   // Controlla se il nuovo numero č 
maggiore di max
                  max = numeri[i];   //  Se č cosi assegna a max il 
nuovo valore
      }
      cout<<endl<<endl;
      for(i=0;i<10;i++)
          cout<<i<<". "<<numeri[i]<<endl;
      cout<<endl<<"Massimo: "<<max;
  }
Dove MIN_INT č il minor numero rappresentabile da un intero (e' definito 
in ).
 > Se vuoi invece sapere quale č il minore devi cambiare la condizione 
del IF a
 > numeri[i]<min
Nel caso del mio codice devi _anche_ assegnare min = INT_MAX;
Poi se non ti interessa memorizzare tutti i numeri inseriti puoi 
sostituire il ciclo for con un while e l'array con un intero semplice;
Ciao,
matteo!

 sapere quale sia il numero maggiore o minore immesso tra una serie di
Scusami, ma non ho capito...
Non ti va bene questo?
#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char* argv[])
{
        const int NUMERO_NUMERI=10;
        int numero[NUMERO_NUMERI];
        int* ptnum=numero;
        for(int i=0;i<10;++i)
        {
                cout << "Inserisci numero " << i+1 << " ? ";
                cin >> numero[i];
        }
        const int* max=max_element(numero , numero+NUMERO_NUMERI);
        // oppure se vuoi conoscere il minimo...
        // const int* min=min_element(numero , numero+NUMERO_NUMERI);
        return 0;
}
Chiaro che qualora tu voglia contemporaneamente il numero massimo E il
numero minimo allora far ripetere l'intero array non conviene più...

         int* ptnum=numero;
pardon! Avevo in testa qualcos'altro e questa riga inutile mi č  rimasta
lě... fai finta che non ci sia... proprio come fa il compilatore.
ciao.


si e poi dichiaro const int NUMERO_NUMERI=10; ma poi scrivo...
for(int i=0;i<10;++i)
Oggi proprio non ci sono con la testa... questo programma fa schifo.
comunque min_element e max_element funzionano, a differenza mia.
ciao.

 Ringrazio tutti per la disponibila' e l'aiuto che mi avete dato ciao^_^
