Sequenza

di il
15 risposte

15 Risposte - Pagina 2

  • Re: Sequenza

    giulia18395 ha scritto:


    Quando trovo un m che non sarà più > prodotto[/size]
    In realtà il seguente codice da te postato
    prodotto = x[0];
       for (i = 1; i < 500; i++)
       {
          do{
             cin >> m;
             if (m>prodotto)
             {
                x[i] = m;
                prodotto = prodotto*m;
             }
          } while (m <= prodotto);
       }
    fa il contrario... in quanto continua a leggere valori finché il vettore x non è pieno. Sinceramente anche io credo che la strada giusta sia questa, visto che poi x verrà passato alla funzione estraindice().
    Detto ciò il codice potrebbe essere semplificato nel seguente modo:
    int x[500];
        cin >> x[0];
        int prodotto = x[0];
        for(int i = 1; i < 500; ++i)
        {
            while(true)
            {
                cin >> x[i];
                if(x[i] > prodotto)
                {
                    prodotto *= x[i];
                    break;
                }
            }
        }
    In ogni caso spero tu abbia compreso tutto il discorso relativo al rischio di overflow!
Devi accedere o registrarti per scrivere nel forum
15 risposte