Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] Ciclo for

  1. #1

    [C] Ciclo for

    Ciao!

    Mi sono deciso di studiare qualcosa di programmazione ma sto incontrando qualche difficoltà...

    int _tmain(int argc, _TCHAR* argv[])
    {
    int vett[10];
    int i,
    media,
    somma = 0;

    for (i = 0; i < 10; i++)
    {
    printf("Inserire un valore: \n");
    scanf("%d", &vett[i]);
    }

    for(i = 0; i < 10; i++);
    {
    somma = somma + vett[i];
    }

    media = somma / 10;

    printf("La media e': %d", media);

    system ("PAUSE");

    return 0;
    }

    Non capisco per quale motivo il secondo ciclo for venga ignorato e la variabile somma contenga un valore diverso da zero.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472

    Re: [C] Ciclo for

    Attenzione al ; segnato in rosso

    for(i = 0; i < 10; i++);

    ... lo devi togliere ...

    E inoltre, la variabile media deve essere di tipo double ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Hai ragione, penso sia un errore abbastanza stupido!

    Dato che la figuraccia è ormai fatta posso chiederti per quale motivo la variabile somma alla fine dell'esecuzione contiene un valore diverso da zero, il ";" dovrebbe fare in modo che il ciclo for non venga eseguito neanche una volta e io l'ho inizializzata a zero nella dichiarazione?

    Per la variabile media nessun problema, so che cosi facendo la parte decimale verrà troncata.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    E invece il ciclo viene eseguito, ovvero la variabile i va da 0 a 10. Dopo, la linea della somma viene eseguita una sola volta con indice 10 (che punta oltre la fine del vettore prendendo un valore casuale).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Ok, ci ho messo un po ma ho capito!

    Il ciclo for viene eseguito normalmente
    e l'istruzione che dovrebbe fare da corpo del ciclo che viene eseguita solamente una volta.

    Ti ringrazio per la pazienza.

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.