|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2005
Città: Milano
Messaggi: 94
|
[C] Esercizio Array
Ciao ragazzi,
dovrei svolgere un esercizio in cui viene chiesto di stampare il contenuto di ogni singolo elemento di un array (di 10 elementi), in ogni elemento verrà memorizzato il valore immesso da tastiera.. Per capire meglio vi posto la mia soluzione... #include <stdio.h> #include <stdlib.h> #define N 10 void main () { int C[N]; int i,p; for (i=0;i<=N;i++) { printf("\nInserisci l'elemento %d del vettore C----->",i); scanf("%d",&C[i]); for (p=i;p<=i;p++) { printf("L'elemento %d del vettore C contiene %d\n",i,C[p]); } } fflush (stdin); getchar(); } Quando compilo e lancio, il print giustamente viene visualizzato subito dopo che viene immesso il valore... Invece io vorrei che venisse memorizzato prima ogni singolo valore e poi che venisse eseguito il printf stampando tutti i valori tipo elenco... Ho provato a farlo in diversi modi, ma non riesco a trovare la via giusta... Spero di essere stato chiaro! Ciao e grazie ![]()
__________________
Trattative Mercatino HWU: givdyx, itp55, Zandorf |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Non sono sicuro di aver capito cosa vuoi fare... in ogni caso, penso che quello che vuoi fare può essere risolto semplicemente spostando il secondo ciclo for fuori dal ciclo più in alto (così tu hai due cicli for innestati).
Ovviamente le condizioni del secondo ciclo andrebbero riscritte, e dovrebbe stampare da i = 0 a N.
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
a parte che il main deve ritornare un int,a parte che puoi scrivere tutto senza
fflush (stdin) e getchar() che non ho capito a che servono,a parte questo devi semplicemente riscrivere i due for non innestati
__________________
Khelidan |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Codice:
for (i=0;i<N;i++)
__________________
![]() |
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
![]() Quote:
![]()
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2004
Città: Pianeta Terra
Messaggi: 1593
|
ne inserisci 9 ( N=10 -1 )
non annidare i due for, ne fai uno per inserire i dati da tastiera con la scanf e ne fai poi un'altro per stamparli a video con printf... e poi per fare più semplice non ti conviene fare solo Codice:
for (i=0; i<N; i++) { printf ("il contenuto della %d cella è %d\n", i, C[i]); }
__________________
|Antec Nine Hundred by me~LC Titan 560W~Asus P5QD Turbo~Intel Q9550~Corsair Dominator xms2-8500~Sapphire HD5870~SB Audigy X-Fi XtremeGamer~Samsung 320Gb sataII~LG dvd-rw~2xAcer P193w + Samsung SM 2243SN~Logitech z-5300~|Notebook MSI S271| Fastweb 20Mb ~ BOINC GOD - 15 UOTD Ultima modifica di nongio : 05-06-2008 alle 00:19. |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Quote:
![]() Si 11,come ha scritto lui il for va da 0 a 10,non l'avevo notato
__________________
Khelidan Ultima modifica di khelidan1980 : 05-06-2008 alle 09:09. |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2004
Città: Pianeta Terra
Messaggi: 1593
|
neanche io l'avevo notato... chiedo scusa
__________________
|Antec Nine Hundred by me~LC Titan 560W~Asus P5QD Turbo~Intel Q9550~Corsair Dominator xms2-8500~Sapphire HD5870~SB Audigy X-Fi XtremeGamer~Samsung 320Gb sataII~LG dvd-rw~2xAcer P193w + Samsung SM 2243SN~Logitech z-5300~|Notebook MSI S271| Fastweb 20Mb ~ BOINC GOD - 15 UOTD |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Nov 2005
Città: Milano
Messaggi: 94
|
Grazie a tutti ragazzi!!!
![]() Ho capito dove sbagliavo!! Praticamente oltre a separare i cicli, dovevo anche inizializzare p=0 e non ad i come avevo scritto... Questo e' il codice che ho corretto!! #include <stdio.h> #include <stdlib.h> #define N 10 int main () { int C[N]; int i,p; for (i=0;i<=N;i++) { printf ("immetti un valore per l'elemento del array P---->",i); scanf ("%d",&C[i]); } for (p=0;p<=N;p++) { printf ("L'elemento %d dell' array C Contiene %d\n",p,C[p]); } } Ciao a tutti!!!
__________________
Trattative Mercatino HWU: givdyx, itp55, Zandorf |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
![]() ste1982: occhio che così ne inserisci ancora 11
__________________
![]() |
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Nov 2005
Città: Milano
Messaggi: 94
|
Ah si hai ragione!!!
![]() Grazie per il suggerimento!! Ciao!!!
__________________
Trattative Mercatino HWU: givdyx, itp55, Zandorf |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:16.