Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 25

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    anzi sinceramente l'operazione che esegue il programma è: (a+b+c)*(d+e+f) io invece dovevo fare (a*b*c)+(d*e*f)

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    comunque l'ho sistemato l'ho modificato in c++ e inoltre ho sistemato i calcoli per renderlo come mi serviva...
    il codice completo in C++ è:

    codice:
    #include<iostream>
    using namespace std;
    int main() {
        int a, b=1, n=0, somma=0, count=0;
        cout<<"quanti valori vuoi calcolare?"<<endl;
        cin>>n;
        if(n%3!=0)
        {
                    cout<<"errore, inserisci dei multipli di 3 per eseguire correttamente il programma"<<endl;
                    system("pause");
                    return 0;
        }
        cout<<"inserisci questi "<<n<<" valori"<<endl;
        for (int i=1;;i++)
        {
            cin>>a;
            b = b*a;
            count++;
            if (i==3)
            {
                somma = somma + b;
                i=0;
                b=1;
            }
            if (count==n)
                break;
        }
        cout<<"il risultato dell operazione e: "<<somma<<endl;
        system("pause");
        return 0;
    }

  3. #3
    Quote Originariamente inviata da passasooz Visualizza il messaggio
    comunque l'ho sistemato l'ho modificato in c++ e inoltre ho sistemato i calcoli per renderlo come mi serviva...
    il codice completo in C++ è:

    codice:
    #include<iostream>
    using namespace std;
    int main() {
        int a, b=1, n=0, somma=0, count=0;
        cout<<"quanti valori vuoi calcolare?"<<endl;
        cin>>n;
        if(n%3!=0)
        {
                    cout<<"errore, inserisci dei multipli di 3 per eseguire correttamente il programma"<<endl;
                    system("pause");
                    return 0;
        }
        cout<<"inserisci questi "<<n<<" valori"<<endl;
        for (int i=1;;i++)
        {
            cin>>a;
            b = b*a;
            count++;
            if (i==3)
            {
                somma = somma + b;
                i=0;
                b=1;
            }
            if (count==n)
                break;
        }
        cout<<"il risultato dell operazione e: "<<somma<<endl;
        system("pause");
        return 0;
    }
    salve, come posso modificare il codice in questione per fare la somma di (a1*a2*a3)+(a2*a3*a4)?

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da reynold85 Visualizza il messaggio
    salve, come posso modificare il codice in questione per fare la somma di (a1*a2*a3)+(a2*a3*a4)?
    Potresti provare a farlo ad esempio: ti servono 2 accumulatori per i prodotti parziali e 1 per la somma.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    ok, grazie anche io pensavo di agire in quella direzione.
    Ma come posso dire al secondo accumulatore che deve partire da a2 e non da a1? Il problema è che il prodotto a2*a3 non viene effettuato nel primo caso e quindi non posso impostare un for con i=2.
    Forse devo considerare tre variabili a b c ?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    grazie mille funziona alla perfezione adesso me lo studio per capire la logica... grazie!

  7. #7
    esatto, ho fatto cosi. Non ho capito come impostare i cicli alterni però.
    Cioè se a i=3 arrivo cosi
    for(int i=1;i<=n;i++)
    {
    cout<<"inserisci numero di questi n numeri"<<endl;
    cin>>a;
    p=p*a;

    if(i==3)
    {
    somma=somma+c;
    c=a;
    }
    }
    cout<<"somma risulta "<<somma<<endl;
    poi come faccio a dirgli a i=5, i=7, i=9... di fare
    somma=somma+p*a

    5 non è un ,multiplo di 3. Dovrei impostare un altro for che da i=5 fino a i=7 fa la somma, e poi da i=7 a i=9. OK.
    Ma coma faccio a passare da i=3 a I=5?
    Devo introdurre un'altra variabile k=2?

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da reynold85 Visualizza il messaggio
    esatto, ho fatto cosi. Non ho capito come impostare i cicli alterni però.
    Cioè se a i=3 arrivo cosi


    poi come faccio a dirgli a i=5, i=7, i=9... di fare
    somma=somma+p*a

    5 non è un ,multiplo di 3. Dovrei impostare un altro for che da i=5 fino a i=7 fa la somma, e poi da i=7 a i=9. OK.
    Ma coma faccio a passare da i=3 a I=5?
    Devo introdurre un'altra variabile k=2?
    Ti basta controllare se l'indice è pari o dispari
    codice:
    #include <iostream>
    using namespace std;
    
    int main() {
        int a, sum = 0, p = 0, n;
        cout << "Quanti numeri vuoi sommare?";
        cin >> n;
        
        for(int i = 0; i < n; ++i) {
            cin >> a;
            if(i % 2 == 0) {
                sum += p * a;
                p = a;
            } else {
                p *= a;
            }
        }
        cout << "Il risultato è " << sum << endl;
        return 0;
    }
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    Non ho capito alcune cose è cioè:
    1. parti da int i=0. quando c'è i=1 il resto vale esattamente 0? in teoria no, o forse si perchè i è variabile intera?
    2. non dovrei valutare i%3==0, dovendoi fare la moltiplicazione di 3 numeri?

    ciao e grazie

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Il resto vale: 0 1 0 1 0 1 0 1 0 1 0 1 ...

    1 2 3
    _ _ 3 4 5
    _ _ _ _ 5 6 7
    _ _ _ _ _ _ 7 8 9

    E' vero che devi sommare 3 numeri, ma come vedi dallo schema sopra devi "partire con una moltiplicazione" ogni altro ciclo!
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.