Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803

    [c] somma interi da 2 a 30

    come posso fare un programma k sommi gli interi da 2 a 30?
    codice:
    #include<stdio.h>
    
    int main ()
       {
    int num;
    int tot;
    int pari;
    
    for (num=2;num<=30;num++){
    ???????? :cry: ??????????
    	tot = tot + pari;}
    
    printf("La somma è %d", pari)
            return 0;
    }

  2. #2
    invece di incrementare num di uno lo incrementi di due.
    Al totale gli aggiungi num (tot+=num) e poi restituisci il totale.

  3. #3
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    #include<stdio.h>

    int main ()
    {
    int num;
    int tot;

    for (num=2;num<=30;num+=2){
    tot+=num;}

    printf("la somma è %d", tot);
    return 0;
    }



    mi esce 1462!!!!!!!!

  4. #4
    Scusate una domanda perchè forse non ho capito cosa deve fare il programma...da quanto c'è scritto sopra sembra una semplice somma dei numero da 2 a 30 che si farebbe così:
    codice:
    #include<stdio.h>
    
    int main ()
       {
    int num;
    int tot;
    
    for (num=2;num<=30;num++){
            tot = tot + num;}
    
    printf("La somma è %d", tot)
            return 0;
    }
    Se la cosa è diversa allora non ho capito qual è l'obiettivo!

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  5. #5
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da Matteo982
    Scusate una domanda perchè forse non ho capito cosa deve fare il programma...da quanto c'è scritto sopra sembra una semplice somma dei numero da 2 a 30 che si farebbe così:
    codice:
    #include<stdio.h>
    
    int main ()
       {
    int num;
    int tot;
    
    for (num=2;num<=30;num++){
            tot = tot + num;}
    
    printf("La somma è %d", tot)
            return 0;
    }
    Se la cosa è diversa allora non ho capito qual è l'obiettivo!

    Ciao.


    deve sommare gli interi pari da 2 a 30

  6. #6
    ah ok ora ci sono...prova così:

    codice:
    #include<stdio.h>
    
    int main ()
       {
    int num;
    int tot;
    
    for (num=2;num<=30;num++){
            if (num % 2 == 0)
            {        
                 tot = tot + num;
            }
    }
    printf("La somma è %d", tot)
            return 0;
    }
    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  7. #7
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    1462!!!!deve uscire 240!!

  8. #8
    in C non è come in VB, le variabili devi inizializzarle te.
    Quindi imposta Tot=0 in partenza, altrimenti non parte da 0, ma da un valore "casuale", cioè che dipende da vari fattori del disco, ma che tu non puoi sapere a priori

  9. #9
    Ecco appunto mi sembrava che il programma fosse giusto...pensavo sapessi che bisognava inizializzare a 0 la variabile quindi mi sono concentrato sul centro del for...

    La prossima volta scriverò tutto che è meglio!

    L'importante è arrivare alla soluzione...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  10. #10
    Originariamente inviato da Luciano79
    in C non è come in VB, le variabili devi inizializzarle te.
    Quindi imposta Tot=0 in partenza, altrimenti non parte da 0, ma da un valore "casuale", cioè che dipende da vari fattori del disco, ma che tu non puoi sapere a priori
    Si però non è vero

    Il codice postato da metto982 funziona perfettamente, anche senza dichiarare il valore di tot; tant'è che se fai

    codice:
    int main ()
       {
    int num;
    int tot;
    
    printf("per la cronaca, tot non inizializzato vale %d\n", tot);
    
    for (num=2;num<=30;num++){
            if (num % 2 == 0)
            {
                 tot = tot + num;
            }
    }
    printf("La somma è %d\n", tot);
    
            return 0;
    }
    
    }
    Ottieni come output:
    ./a.out
    per la cronaca, tot vale 0
    La somma è 240

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.