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++ - aiuto per un algoritmo
Forum - C/C++ - aiuto per un algoritmo

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


Messaggi: 10
Iscritto: 08/09/2007

Segnala al moderatore
Postato alle 13:39
Sabato, 08/09/2007
l'esercizio 1.9 del libro linguaggio c di kernighan ritchie dice:
si scriva un programma i cui dati in uscita replichino i dati in ingresso, sostituendo però una stringa di uno o più spazi con uno spazio singolo.
qualcuno può aiutarmi a scrivere questo programmino.
grazie

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 0:46
Lunedì, 10/09/2007
Hai iniziato?

PM Quote
Avatar
karl_bass (Normal User)
Newbie


Messaggi: 10
Iscritto: 08/09/2007

Segnala al moderatore
Postato alle 10:27
Lunedì, 10/09/2007
sto cercando di capire qualcosa.

PM Quote
Avatar
karl_bass (Normal User)
Newbie


Messaggi: 10
Iscritto: 08/09/2007

Segnala al moderatore
Postato alle 10:30
Lunedì, 10/09/2007
sto cercando di capire qualcosa.

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 11:19
Lunedì, 10/09/2007
Io mi concentrerei su questa parte dell'esercizio per iniziare ...

"i cui dati in uscita replichino i dati in ingresso"

Prova a scrivere il codice che fa solamente questo ...

PM Quote
Avatar
karl_bass (Normal User)
Newbie


Messaggi: 10
Iscritto: 08/09/2007

Segnala al moderatore
Postato alle 11:05
Martedì, 11/09/2007
ok.
dichiaro una variabile int e poi assegno il valore letto con la funzione getchar() a questa variabile.
a questo punto mi serve un if per vedere se la variabile corrisponde a' '.
poi qui mi fermo perchè forse dovrei ciclare con un contatore incrementale.
ma se ho uno spazio, poi un carattere e poi un altro spazio tornando indietro eliminerei anche il carattere.
qui mi incasino e non riesco ad uscirne.

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 14:48
Martedì, 11/09/2007
Lascia perdere le if e gli spazi, per ora.

Scrivi e mostra il codice che risolve solamente la prima parte del problema.

Va bene la getchar per l'input ...

PM Quote
Avatar
karl_bass (Normal User)
Newbie


Messaggi: 10
Iscritto: 08/09/2007

Segnala al moderatore
Postato alle 23:29
Martedì, 11/09/2007
#include>stdio.h>
main()
non so come fare la parentesi grafa
  int c;
  while((c != EOF)
     getchar();
questa è la parte che prende il carattere e lo mostra sullo schermo.
volendo potrei aggiungere
  putchar(c);
concordi?

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 20:11
Mercoledì, 12/09/2007
In pratica il programma deve eliminare gli spazi nulli(di troppo),
dovrebbe essere cosi l'algoritmo.
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5.         int c;
  6.         bool b = false;
  7.  
  8.         while ((c=getchar())!=EOF){
  9.                 if (c ==' ')  {
  10.                         if (b==false){
  11.                         b = true;
  12.                         putchar(c);
  13.                         }
  14.                         else{
  15.                                 continue;
  16.                         }
  17.                 }
  18.                 else{
  19.                         b=false;
  20.                         putchar (c);
  21.                 }
  22.        
  23.         }
  24.        
  25. }


Ciao.

Ultima modifica effettuata da LuigiBiasi il 12/09/2007 alle 20:15
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo