Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

[Guida] Al C++ Parte 8.
(Questo messaggio è stato modificato l'ultima volta il: 27/07/2011, 20:16 da Luxor.)

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
Cominciamo! allora questo programma conta il numero di ripetizioni di una cifra,degli spazi bianchi e di altri caratteri.Quindi:
    C++ Programming
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int c, i, nwhite, nother, ndigit[10];
  6.  
  7. nwhite = nother = 0;
  8. for (i = 0; i < 10; ++i)
  9. ndigit[i] = 0;
  10.  
  11. while ((c = getchar()) != EOF)
  12. {
  13. if (c >= '0' && c <= '9')
  14. ++ndigit[c-'0'];
  15. else if (c == ' ' || c == '\n' || c == '\t')
  16. ++nwhite;
  17. else
  18. ++nother;
  19.  
  20. printf("cifre = ");
  21. for (i = 0; i < 10; ++i)
  22. printf(" %d", ndigit[i]);
  23. printf(", spazi bianchi = %d, altri = %d\n", nwhite, nother);
  24. }
  25. }


Iniziamo come al solito definendo le variabili che in questo caso sono: c, i, nwhite, nother e ndigit[10]
[10]? Questo specifica che ndigit è un vettore di dieci interi, e in C i vettori partono sempre da zero (ndigit[0],ndigit[1]..ecc..)
Poi for"per"->(i uguale a 0; i minore di 10 e i aumentato di 1 allora-> ndigit[i] = 0

(non spiego tutto perche l'avro ripetuto 200 volte...)
passiamo a: if"se"->( c maggiore e uguale a 0 e c minore e uguale a 9) allora->ndigit aumenta di 1[ c - '0'] (c >= '0' && c <= 9) stabilisce se c è una cifra (1,2,3 ecc.. Asd ) in caso affermativo il valore numerico di quella cifra è c - '0'

salto anche questo perche lo abbiamo già visto identico ma aggiunge qualche cosa Happywide

Qui possiamo vedere la forma
if (condizione)
instruzione
else if (condizione2)
instruzione2
else
instruzione 3

questo condizioni vengono valutate dall'altro verso il basso fino a che una di esse sia soddisfatta

27/07/2011, 18:34
#1
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
ovviamente questa parte contiene una "svista" :

Citazione:e in C i vettori partono sempre da zero (ndigit[1],ndigit[2]..ecc..)

intendeva scrivere cosi:
Citazione:e in C i vettori partono sempre da zero (ndigit[0],ndigit[1]..ecc..)

perchè, giustamente come dice, l'indice parte da 0

Smile



digger
27/07/2011, 19:26
#2
Cerca

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
Modificato, grazie!

27/07/2011, 20:17
#3
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 27/07/2011, 20:49 da Skyline@69.)

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
Avrei un suggerimento che credo tutti coloro che seguono le tue guide condividono..
Dato che il tag code di questa piattaforma MyBB fa schifo, cioè non c'è una rawpaste version o comunque quando fai copia incolla addio formattazione e ti devi mettere a cancellare ogni volta gli 1. 2. 3. 4. ecc perchè non alleghi un piccolo file col codice scritto, magari un .txt o direttamente il main.cpp ? Credo che te ne saranno (saremo) tutti grati Blush

Oppure eviti di usare il codice, mettendo magati dentro il topic:
/***** CODICE *****/
Tutto il code che vuoi
/*** FINE CODICE ***/
Insomma qualcosa del genere per rendere più utilizzabili le guide perchè se qualcuno vede che si deve mettere ad aggiustare tutto ci rinuncia Smile

27/07/2011, 20:45
#4
Cerca

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
Sono troppo pigro per farlo...

27/07/2011, 20:51
#5
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
Sky, a parte che anche io sarei troppo pigro per fare quello che dici Tounge
Però non capisco il problema, io se copio incollo mi trovo tutto a posto,
intendo, non c'è la numerazione e mi mantiene la formattazione... sicuro di quello che dici?




digger
27/07/2011, 21:12
#6
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(27/07/2011, 21:12)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

Sky, a parte che anche io sarei troppo pigro per fare quello che dici Tounge
Però non capisco il problema, io se copio incollo mi trovo tutto a posto,
intendo, non c'è la numerazione e mi mantiene la formattazione... sicuro di quello che dici?

Browser? Io uso il caro vecchio e zozzo IE 9

27/07/2011, 21:52
#7
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
(27/07/2011, 21:52)Skyline@69 Ha scritto:

[Per vedere i link devi REGISTRARTI.]

Browser? Io uso il caro vecchio e zozzo IE 9

scusa ma a chi stai rispondendo??



digger
27/07/2011, 22:15
#8
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(27/07/2011, 22:15)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

(27/07/2011, 21:52)Skyline@69 Ha scritto:

[Per vedere i link devi REGISTRARTI.]

Browser? Io uso il caro vecchio e zozzo IE 9

scusa ma a chi stai rispondendo??

Ho quotato te, evidentemente sto rispondendo a te Blush
Ti ho chiesto il browser che usi perchè tu mi stai dicendo che a te non da problemi di formattazione Smile

28/07/2011, 7:27
#9
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
oops scusa, sai che non l'avevo proprio letto in quei termini? ora che me lo dici invece era ovvio Tounge dormo troppo poco Happywide
Io uso Chrome, in effetti non ho provato con gli altri



digger
28/07/2011, 9:16
#10
Cerca

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
Anche io Chrome... primo ho provato e non mi scrive nessun numero

28/07/2011, 13:07
#11
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(28/07/2011, 13:07)Luxor Ha scritto:

[Per vedere i link devi REGISTRARTI.]

Anche io Chrome... primo ho provato e non mi scrive nessun numero

Appunto digger ha detto che chrome non da di questi problemi, ma purtroppo io sono dipendente da IE e non ci posso far nnt Asd Asd

28/07/2011, 14:38
#12
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
l'ho sempre detto che IE fa schifo... io ormai lo uso solo quando sono costretto dagli applicativi che lo richiedono se no me ne guardo bene dall'usarlo



digger
28/07/2011, 14:42
#13
Cerca


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [Guida] Al C++ Parte 7. Luxor 5 1,639 27/07/2011, 14:51
Ultimo messaggio: digger
  [Guida] Al C++ Parte 1. Luxor 7 2,433 25/07/2011, 23:38
Ultimo messaggio: digger
  [Guida] AL C++ Parte 6. Luxor 5 1,892 24/07/2011, 8:44
Ultimo messaggio: Skyline@69



Utenti che stanno guardando questa discussione: 1 Ospite(i)