|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
[c++] riempire un array di 10 elementi e farne la somma
salve ho un problema con questo programma...
io sono arrivato fino a questo punto ma poi mi sono bloccato...come devo fare per risolvere il problema che mi è stato posto?? #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int A[10],somma,i; for (i=0;i<10;i++) { cout<<"inserisci A[i]: "; cin >> A[i]; } for (i=0;i<10;i++) { cout<<A[i]; } somma+=A[i]; cout <<"la somma degli array e: "<<somma; system("PAUSE"); return EXIT_SUCCESS; } grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Ciao, nel tuo programma ci sono 2 errori
il primo è che devi inizializzare a 0 la variabile somma: infatti quando le variabili vengono allocate in memoria sono "sporche" nel senso che contengono valori strani che portano ad un risultato scorretto. Per questo motivo è buona norma di programmazione inizializzarle TUTTE, pena un pomeriggio intero a sbattersi nel cercare un problema inesistente ( Il secondo è che l'istruzione somma+=A[i] addiziona alla variabile somma l'elemento della i-esima cella (i, grazie al for precedente ha assunto il valore 9). Per far sommare tutti gli elementi devi quindi, con un for, scorrere tutto il vettore ed effettuare la somma cella per cella. Ciao |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
ok per il primo problema ho risolto dato che è stato un piccolo errore di distrazione :P
per il secondo come devo fare dato che il ciclo for non mi è ancora del tutto chiaro?? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Il ciclo for itera le istruzioni contenute tra le graffe finchè la condizione specificata risulta vera (la condizione è quella specificata alla destra del primo ; ). Tu quindi devi semplicemente fare un for analogo a quelli precedenti.
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 32
|
in parole povere, devi mettere
Codice:
somma+=A[i]; Così com'è scritto adesso, viene sommato alla variabile somma, soltanto l'ultimo valore dell'array A (cioè A[9]) |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
cioè:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int A[10],somma=0,i; for (i=0;i<10;i++) { cout<<"inserisci A[i]: "; cin >> A[i]; } for (somma+=A[i];i<10;i++) { cout<<A[i]; } somma+=A[i]; cout <<"la somma degli array e: "<<somma; system("PAUSE"); return EXIT_SUCCESS; } |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
no torna al programma che hai postato all'inizio: metti l'istruzione somma+=A[i] in un for come gli altri:
Codice:
for (i=0;i<10;i++)
{
somma+=A[i];
}
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
ok fino a qui tutto bene..pero c'è un problema...
quando vado a fare l'operazione mi da tutti i numeri in fila esempio: A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 A[i]: 2 2468101214161820 mentre invece io voglio semplicemente stampare il n.20...come devo fare?? |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
perchè il cout lo devi mettere fuori dal for
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
perfetto
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
un'ultimissima cosa...
qui qulacuno mi puo aiutare con un problema di sistemi |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Se si tratta di risolvere un esercizio da capo a piedi no pena la chiusura del tread:
http://www.hwupgrade.it/forum/showthread.php?t=1631648 |
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
no no è che dovrei simulare il funzionamento di un ascensore usando open office calc...sarebbe un automa di mealy giusto?
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
|
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Mar 2008
Città: Albano Laziale
Messaggi: 49
|
ok
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:52.




















