PDA

Visualizza la versione completa : [C] Contare numero di lettere senza spazi


Camilla999
27-10-2009, 17:40
Scusate ragazzi, qualcuno pu darmi una mano con questo piccolo programmino:
devo scrivere un sw che legga una stringa di n parole e ne stampi il numero di lettere, SENZA GLI SPAZI !


Es.

"Il mio cane il pi bello"

deve stampare:

2
3
4
1
2
3
5


Grazie a tutti in anticipo!!!! Un bacio....

sebaldar
27-10-2009, 17:55
tip : isdigit ritorna vero se un carattere non uno spazio, una tabulazione o un fine riga.

ant_alt
27-10-2009, 17:59
Originariamente inviato da sebaldar
tip : isdigit ritorna vero se un carattere non uno spazio, una tabulazione o un fine riga.

isdigit restituisce vero solo se il char tra 0 e 9:)

basta controllare che il char != ' '

oregon
27-10-2009, 18:06
La isdigit, come dice il nome stesso, serve a individuare le 'cifre'. Semmai si puo' usare

!isspace()

LeleFT
27-10-2009, 18:09
Dato che l'esercizio lo devi fare tu, posta la tua soluzione e, se non funziona, spiega cosa fa di sbagliato e dove credi siano gli errori.

Richieste di sviluppo programmi per intero non sono ammesse su quest'area del forum.


Ciao. :ciauz:

sebaldar
27-10-2009, 18:13
Originariamente inviato da oregon
La isdigit, come dice il nome stesso, serve a individuare le 'cifre'. Semmai si puo' usare

!isspace()

quella era :)

Camilla999
27-10-2009, 18:31
Questo quello che sono riuscita a scrivere fino ad ora, ma questo stampa il numero totale
della stringa..... : - (

#include <stdio.h>
#include <string.h>

unsigned lunghezza = 0;
char stringa[100];

int main(void)
{
printf("Inserire parola: ");

fgets(stringa, 99, stdin);



stringa[strlen(stringa)-1]=0;

lunghezza=strlen(stringa);

printf("La lunghezza e': %d \n",lunghezza);
}

oregon
27-10-2009, 18:33
Ok ... ora imposta un ciclo for che inizia da 0 e termina quando termina la stringa e controlla con una if ogni carattere.

Saprai scrivere una for ?

Camilla999
27-10-2009, 18:38
dovrei scrivere qualcosa del tipo for(i=0;i<n;i++)
ma non so dove devo metterlo.... :messner:

oregon
27-10-2009, 18:44
Originariamente inviato da Camilla999
dovrei scrivere qualcosa del tipo for(i=0;i<n;i++)
ma non so dove devo metterlo.... :messner:

Ovviamente a seguire ... ma il codice lo hai scritto (e capito) tu o no ?

Perdonami ... ma tu stai imparando la programmazione senza motivo o hai un fine?

Se non sai usare una elementare "for", molto probabilmente ti devi fermare un attimo a studiare le basi del linguaggio ...

Non penso che tu voglia che qualcuni ti scriva il compito al posto tuo (fra l'altro non e' neanche nello spirito di questo forum), quindi dovrai metterti un po' a studiare ...

Loading