Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    [c++] sommare sequenza ordinaria di numeri

    buonasera,
    ho un esercizio da fare di informatica però non riesco a capire come realizzarlo.

    il testo è questo: realizza un programma che data in input una sequenza di numeri ordinaria de esegui la somma esembio: a1,a2,a3,a4,a5,a6 sono i numeri inseriti in input
    la somma=(a1*a2*a3)+(a4*a5*a6)........

    qualcuno sa darmi una mano in merito?

  2. #2
    Al di là del fatto che quella non mi sembra una somma, su che cosa hai problemi esattamente? Cosa hai già provato?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    sul libro c'è scritto così... comunque non ho provato nulla ancora perchè proprio non saprei come partire... ovvero i numeri non li ho li inserisco io da input... e ho pensato mettiamo caso che inserisco 3 numeri quindi:
    cout<<"numeri?"<<endl;cin>>n;
    ora dovrei fare un for(int i=0;i<n;i++){ecco qui non so come inserire i numeri} e già qui sono fermo perchè come faccio? potrei fare cin>>numero[i] ? però se faccio così mi rimane memorizzato solo l'ultimo numero inserito se poi gli chiedo di mostrarmi a video l'array numero.

    inoltre come lo inizializzo l'array? se non conosco quanti numeri andrò ad inserire?

  4. #4
    non sei chiaro,
    tratti interi?
    i numeri immessi sono sempre 6?
    ma è una somma o una somma e prodotto?
    se vuoi una somma semplice tra interi basta questo script

    #include <stdio.h>



    int main() {
    int i, a, b, n;
    b=0;
    n=6;
    a=0;
    printf("inserisci di seguito %i valori \n", n);
    for (i=0;i<n;i++) {
    scanf("%i", &a);
    b = b+a;
    }
    printf("\n la somma dei valori è %i", b);
    }

    altrimenti se vuoi eseguire l'operazione di somma delle prime 3 cifre (io ho usato sempre una variabile settata a 6 come nell'esercizio quindi te la puoi gestire tu l'importante ovviamente è che non usi un numero dispari) per la somma delle altre 3 cifre puoi usare questo script:


    #include <stdio.h>


    int main() {
    int i, b, c, n, somma;
    b=0;
    c=0;
    n=6;
    int a[n];
    printf("inserisci di seguito %i valori \n", n);
    for (i=0;i<n;i++) {
    scanf("%i", &a[i]);
    }
    n = n/2;
    for (i=0; i<n; i++)
    b = b + a[i];
    for (i=n; i<(n*2)+1; i++)
    c = c + a[i];

    somma=c*b;

    printf("\n la somma dei primi enne valori e dei secondi ed il rispettivo prodotto è %i", somma);
    }

    se vuoi posso aggiungere un frammento che ti lasci scegliere da console quante cifre vuoi nel programma e ti dia errore se non sono pari, non ci vuole niente.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    si allora io ho guardato i due script che mi hai postato però i comandi scanf e printf non li usiamo noi usiamo cout e cin... comunque si l'esercizio richiede che sia l'utente a decidere quanti siano i numeri da sottoporre a questa operazione... per esempio nel libro c'è scritto:
    a1,a2,a3,a4,a5,a6,............ e deve fare l'operazione: somma=(a1*a2*a3)+(a4*a5*a6)+.........
    spero di essermi spiegato meglio.

  6. #6
    ops, mi sono accorto che tu cerchi una soluzione in c plus plus, io l'ho scritta in C, non dovrebbe differire tanto. purtroppo non conosco c++.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    fa niente poi me la sbrigo io su quello mi cerco i rispettivi in c++ comunque mi sa che è errato il codice che hai scritto ovvero non fa esattamente ciò che ho richiesto.
    io vorrei un'operazione del genere (1*2*3)+(4*5*6)+e così via.....
    capisci cosa intendo?
    invece guardando il tuo script non fa questa operazione ovvero io vedo che tu fai la somma dei valori inseriti e poi il prodotto di C e B

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    infine se setto tutti i valori ad 1 mi da somma= risultato strano... tipo 433245324

  9. #9
    d'accordo, 10 minuti e te lo scrivo, ma sempre in C e usando scanf perchè quella funzione non la conosco e credo sia di C++, in caso gli dai un'aggiustata tu. wait.

  10. #10
    eccomi! ci ho messo un pò di più perchè ho avuto qualche problemino strada facendo, comunque questo script funziona alla perfezione. controlla che si possa eseguire il programma e trova il risultato corretto anche con 9, 12, 15 valori immessi ecc.
    se hai bisogno di chiarimenti chiedi
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main() {
        int i, a, b, n, somma, count;
        n=0;
        b=0;
        count=0;
        somma=1;
    
    printf("quanti valori vuoi usare nel tuo programma? \n");
        scanf("%i", &n);
        if((n%3)!=0) {
    printf("errore, inserisci dei multipli di tre per eseguire correttamente il programma! \n");
            exit(1);
        }
    
    printf("inserisci di seguito questi %i valori \n", n);
    
    
        for (i=1;;i++) {
            scanf("%i", &a);
            b = b+a;
            count++;
            if (i==3) {
                somma = somma * b;
                i=0;
                b=0;
    
            }
            if (count==n)
                break;
        }
    
    printf("\n il risultato del programma è %i \n", somma);
        exit(2);
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.