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

[Guida] Al C++ Parte 7.

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
Questo programma conterà righe, parole e caratteri quindi:
    C++ Programming
  1. #include <stdio.h>
  2.  
  3. #define IN 1
  4. #define OUT 0
  5.  
  6. int main()
  7. {
  8. int c, nl, nw, nc, state;
  9.  
  10. state = OUT;
  11. nl = nw = nc = 0;
  12. while ((c = getchar()) != EOF)
  13. {
  14. ++nc;
  15. if (c == '\n')
  16. ++nl;
  17. if (c == ' ' || c == '\n' || c == '\t')
  18. state = OUT;
  19. else if (state == OUT)
  20. {
  21. state = IN;
  22. ++nw;
  23. }
  24. }
  25. printf("%d %d %d\n", nl, nw, nc);
  26. }


(a me non funziona, digger dice che funziona... date la colpa a lui Asd Asd Asd)

Allora i due define (IN e OUT) hanno valore 1 e 0 e indicano all'interno della parole o se all'esterno della parola (1 interno 0 esterno)

definiamo le variabili che sono; c, nl,nw,nc,state
poi gli diamo un valore che sarà state("stato") = OUT (0)
e nl = nw = nc = 0

Apriamo il nostro ciclo, quando ((c = getchar()) != EOF) "quando quello che scriviamo è diverso da EOF (fine del file)" allora->
++nc; aumenta di 1 nc
poi if"se"-> (c == '\n') "se c è uguale al valore di \n (newline) allore-> ++nl; aumenta di 1 nl
poi if"se"-> c è uguale a uno spazio bianco O c è uguale a newline O c è uguale a tabulazione allora-> state = OUT (allora siamo fuori da una parola)
else if "altrimenti" (state == OUT) (se l'IF sopra non dovesse essere accettato, quindi c non vale nessuno dei 3 valore allora svolge automaticamente questa funzione)-> state = IN (Siamo in una parola) e quindi ++nw; aumenta di 1 nw
Infine printf"scrivi"->("%d %d %d\n", nl, nw, nc) ricordo che il primo % si lega con la prima variabile scritta dopo quindi nl, il secondo % si lega con il secondo (nw) ecc... ( % sta per "scrivi qui")


26/07/2011, 18:53
#1
Cerca


Messaggi in questa discussione
Al C++ Parte 7. - da Luxor - 26/07/2011, 18:53
[Nessun oggetto] - da digger - 26/07/2011, 19:09
[Nessun oggetto] - da Skyline@69 - 26/07/2011, 21:56
[Nessun oggetto] - da digger - 26/07/2011, 23:11
[Nessun oggetto] - da Skyline@69 - 27/07/2011, 14:17
[Nessun oggetto] - da digger - 27/07/2011, 14:51

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [Guida] Al C++ Parte 8. Luxor 12 1,320 28/07/2011, 14:42
Ultimo messaggio: digger
  [Guida] Al C++ Parte 1. Luxor 7 1,348 25/07/2011, 23:38
Ultimo messaggio: digger
  [Guida] AL C++ Parte 6. Luxor 5 905 24/07/2011, 8:44
Ultimo messaggio: Skyline@69



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