Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - ESERCIZIO c++  aiutoooo!!
Forum - C/C++ - ESERCIZIO c++ aiutoooo!!

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
zoro92 (Normal User)
Newbie


Messaggi: 7
Iscritto: 24/10/2009

Segnala al moderatore
Postato alle 19:01
Sabato, 24/10/2009
ciao!! sto imparando il c da poco, sono ancora alle prime armi.. siamo arrivati a fare questo esercizio:

-dichiarare un vettore v di 10 interi, una variabile intera i e S.
-leggere il valore dei 10 interi da tastiera con un ciclo for e li scriva nel vettore v.
-con un ciclo while controllare, mediante opportuni if e stampe, se i vari numeri nel vettore v sono compresi tra 0 e 100 (intervallo A), fra 101 e 200 (intervallo B), fra 201 e 250 (intervallo C) o maggiori di 250 (intervallo D).
-con un ciclo do while controlli, mediante if e stampe, se i vari numeri contenuti nel vettore v sono compresi tra 0 e 100 oppure tra 101 e 200 (intervallo E  unione F) o non appartengono a questo intervallo.
-con un ciclo while(1) (senza fine), che incrementa una variabile i, sommi tutti i numeri del vettore v in una variabile S.
Quando i diventa 10 il ciclo termina con un break e successivamente viene stampata S.
-con un ciclo for e uno switch controlli, producendo opportune stampe, se gli elementi del vettore v sono 0,1,2,3,4 o 5,6,7,8 o 9,10 o 11 o maggiori di 11


questo è l'esercizio che devo svolgere e io so fare solo il primo punto..:(
a me l'informatica interessa, è importante per la specializzazione che ho preso nella mia scuola!! mi piace anche costruire programmi, però per ora non sono tanto bravo!
il libro di scuola non mi aiuta per nulla, è inutile non c'è scritto nulla di quello ke mi serve. I
l prof non ne parliamo.. da programmi che spiega in modo superficiale, ormai ho rinunciato a provare a chiedergli spiegazioni....:( quindi ho cercato su internet qualcosa che mi aiutasse a capire e a conoscere meglio il c e ho trovato questo sito!!
spero che almeno voi possiate essermi d'aiuto!!

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 19:16
Sabato, 24/10/2009
Mostra quello che hai fatto per il primo punto e cominciamo a parlare del secondo.

Cosa non sai fare del secondo punto ... ? Sai cosa e' il ciclo for ? Sai prendere in input un valore in una variabile ?


Sappi pero' che in un forum non si puo' "imparare" come si fa dai libri ... e avere tutto il codice gia' pronto (cosa che tu non chiedi) non aiuta ad imparare ...

PM Quote
Avatar
zoro92 (Normal User)
Newbie


Messaggi: 7
Iscritto: 24/10/2009

Segnala al moderatore
Postato alle 20:12
Sabato, 24/10/2009
-punto 1:
unsigned int i,S,v[10];

-punto2:
scanf("%i",&v[10]);

del secondo punto so solo leggere i caratteri dalla tastiera con lo scanf.. il ciclo for lo conosco e so come funziona. L'ultima cosa che hai detto non la so fare..

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 20:34
Sabato, 24/10/2009
Testo quotato

Postato originariamente da zoro92:

-punto 1:
unsigned int i,S,v[10];

-punto2:
scanf("%i",&v[10]);

del secondo punto so solo leggere i caratteri dalla tastiera con lo scanf.. il ciclo for lo conosco e so come funziona. L'ultima cosa che hai detto non la so fare..



L'ultima cosa e' proprio fatta dalla scanf ... dato che sai creare il ciclo e fare la scanf, perche' non scrivi tutto il secondo punto?

PM Quote
Avatar
zoro92 (Normal User)
Newbie


Messaggi: 7
Iscritto: 24/10/2009

Segnala al moderatore
Postato alle 21:08
Sabato, 24/10/2009
cioè ma nel punto 2 mi dice che devo leggere i dieci valori dalla tastiera, e l'ho fatto con la scanf.. io non capisco perchè devo usare il for in questo punto!! con il ciclo for inizializzo una variabile e la incremento finchè non arriva al numero di cicli che voglio fare.. il punto 2 penso di finirlo cosi:

2- scanf("%i",&v[10]); // leggo i dieci interi da tastiera
v[10]; //scrivo i dieci enteri nel vettore v

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:16
Sabato, 24/10/2009
Testo quotato

Postato originariamente da zoro92:

cioè ma nel punto 2 mi dice che devo leggere i dieci valori dalla tastiera, e l'ho fatto con la scanf.. io non capisco perchè devo usare il for in questo punto!! con il ciclo for inizializzo una variabile e la incremento finchè non arriva al numero di cicli che voglio fare.. il punto 2 penso di finirlo cosi:

2- scanf("%i",&v[10]); // leggo i dieci interi da tastiera
v[10]; //scrivo i dieci enteri nel vettore v


hai le idee parecchio confuse sai =|
quel
scanf("%i",&v[10]);
non fa altro che prendere da tastiera il valore dell'11esima cella dell'array v...
se devi leggere 10 valori e memorizzarli nell'array v, devi fare:
Codice sorgente - presumibilmente C/C++

  1. int i;
  2. for ( i=0; i<10; i++ )
  3. {
  4.    scanf("%i", &v[ i ]);
  5. }


PM Quote
Avatar
zoro92 (Normal User)
Newbie


Messaggi: 7
Iscritto: 24/10/2009

Segnala al moderatore
Postato alle 21:46
Sabato, 24/10/2009
eh si lo so!! le cose bene o male le so, più male che bene! solo che faccio casino! :(
comunque ora che mi hai aiutato a fare il punto 2 ti scrivo come faccio il punto 3:

-con un ciclo while controllare, mediante opportuni if e stampe, se i vari numeri nel vettore v sono compresi tra 0 e 100 (intervallo A), fra 101 e 200 (intervallo B), fra 201 e 250 (intervallo C) o maggiori di 250 (intervallo D).

-punto 3:

while(1) //ciclo infinito
{
if(0<i<100) puts("intervallo A");
if(101<i<200) puts("intervallo B");
if(201<i<250) puts("intervallo C");
if(250<i) puts("intervallo D");
}


PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:04
Sabato, 24/10/2009
Testo quotato

Postato originariamente da zoro92:

eh si lo so!! le cose bene o male le so, più male che bene! solo che faccio casino! :(
comunque ora che mi hai aiutato a fare il punto 2 ti scrivo come faccio il punto 3:

-con un ciclo while controllare, mediante opportuni if e stampe, se i vari numeri nel vettore v sono compresi tra 0 e 100 (intervallo A), fra 101 e 200 (intervallo B), fra 201 e 250 (intervallo C) o maggiori di 250 (intervallo D).

-punto 3:

while(1) //ciclo infinito
{
if(0<i<100) puts("intervallo A");
if(101<i<200) puts("intervallo B");
if(201<i<250) puts("intervallo C");
if(250<i) puts("intervallo D");
}



eheh... quel ciclo non si ferma, e poi il valore di i è sempre 10, se intendi la i del codice prima...
dovresti fare una cosa tipo:
Codice sorgente - presumibilmente C++

  1. int e;
  2. i=0; // rituilizziamo la stessa variabile di prima
  3. while ( i < 10 ) // scorriamo l'array
  4. {
  5.    e = v[i];
  6.    if ( 0 < e < 100 )
  7.        puts("A");
  8.    if ( 101 < e < 200 )
  9.        puts("B");
  10.    if ( 201 < e < 250 )
  11.        puts("C");
  12.    else
  13.        puts("D");
  14.    i++;
  15. }



Ultima modifica effettuata da il 25/10/2009 alle 14:44
PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 7:57
Domenica, 25/10/2009
Scusate il mio intervento, non ho letto bene il problema, ma in questo codice c'è un errore:
perchè accadrebbe che nel ciclo while, quel puts("D") verrebbe richiamato qualunque sia il valore dell'intero e, infatti non è sottoposto ad alcun controllo, dovresti legare tutti gli if con degli else.

Codice sorgente - presumibilmente C++

  1. int e;
  2. i=0; // rituilizziamo la stessa variabile di prima
  3. while ( i<10 ) // scorriamo l'array
  4. {
  5.    e = v[i];
  6.    if ( 0 < e < 100 )
  7.        puts("A");
  8.    else if ( 101 < e < 200 )
  9.        puts("B");
  10.    else if ( 201 < e < 250 )
  11.        puts("C");
  12.    else
  13.        puts("D");
  14. }



PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo