|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
|
[C] calcolo caratteri
Ciao a tutti ! Per programmazione devo scrivere un programma che conti i caratteri e le frequenze con cui vengono scritti !
Io ho trovato un programma simile in c++ e l'ho modificato cosi da contare i caratteri ( maiuscole e minuscole sono uguali ) ! Ora io ho scritto un programma in c++ ma lo devo convertire in c ! come faccio ? Ho provato ma non ci riesco ! ![]() CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
cout -> printf
cin -> scanf |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
|
Tutto il resto lo lascio intatto ?
Poi ho provato con scanf ! Ma non mi funzionava ... io ho fatto scanf("%d", dato ); CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa ![]() ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
%d legge un intero, %c un carattere. quel programma di c++ ha solo l'utilizzo della libreria iostream. p.s. è possibile ottimizzare un poco il programma magari usando un vettore di int per memorizzare le ripetizioni. |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
scusa ma quando vedo cose del genere mi viene la pelle d'oca
![]() Non é piú semplice cosí ? Codice:
#include <stdio.h> #include <ctype.h> int main() { int Alfabeto[32]; char c; memset(Alfabeto, 0, sizeof(Alfabeto)); while ( c = toupper(getchar()) ) { if (c == '\n') break; if ( !isalpha(c) ) continue; Alfabeto[c-'A']++; } for( c = 'A'; c <= 'Z'; c++ ) printf( "lettere %c = %i\n", c, Alfabeto[c-'A'] ); return 0; }
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Quote:
![]() ![]() ![]() P.S. Prima di iniziare a scrivere programmi, sarebbe bene leggere un minimo di teoria prima... ti risparmi tempo e fatica, fidati
__________________
Il sole è giallo |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
poi lo modifichi, gli metti un motorino logico e lo riduci a 1000 righe e ti guardano cosí ![]() ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Quote:
![]() ![]() ![]()
__________________
Il sole è giallo |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
|
Quote:
![]() Questo programma lo devo fare per l'uni ( e per di piu per domani ![]() ![]() ciauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa ![]() ![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
|
Ho risolto, mancava un getchar(); alla fine !
Come faccio a far calcolare la frequenza con cui vengono imessi i caratteri e trovare la parola piu lunga in un testo ??? CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa ![]() ![]() |
![]() |
![]() |
![]() |
#11 | |||
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
![]() Quote:
![]() e ti prego non usare la system("PAUSE"); ![]() Quote:
Trovare la parola piu lunga ... basta contare la distanza tra gli spazi ![]() Ti do un aiuto (per come la immagino io): c = strchr(stringa, ' ') ti cerca ' ' dentro stringa e, se lo trova, ti ritorna il puntatore al primo trovato. Altrimenti torna null. Ciao ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|||
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jul 2003
Città: Trieste/Trst
Messaggi: 960
|
Quote:
Cmq non sono riuscito a far niente ![]() CiauZ
__________________
Se ti viene voglia di lavorare, siediti vedrai che ti passa ![]() ![]() |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
non è semplice per chi ha appena iniziato, lo capisco.
E non è neanche semplice spiegarlo mettendosi nei panni di chi non l'ha mai fatto. Ma a casa non ho molto tempo ... se puoi aspettare fino a lunedi mattina ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Allora, a me non piace usare strtok ma all'inizio non si puó mettersi a giocherellare coi puntatori quindi ti scrivo questo esempio per individuare la parola piú lunga:
Codice:
#include <stdio.h> #include <string.h> int main() { char frase [ ] = "ciao pluto paorlamoltolunga boo", parola[128] = "\0"; /* AZZERATA PER LA PRIMA strlen */ char *c = frase; /* PUNTATORE A frase PER SCORRERE L'ARRAY */ while ( c = strtok( c, " " ) ) /* CERCA UNA PAROLA TRA SPAZI */ { if ( strlen(c) > strlen(parola) ) /* SE LA PAROLA TROVATA É + LUNGA */ strcpy( parola, c ); /* AGGIORNO parola */ c += strlen(c) + 1; /* SPOSTO c ALLA PAROLA SUCCESSIVA */ } printf( "%s\n", parola ); return 0; }
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
prego Iddio affinché non getti simili sventure su di me quando lavorerò :| ![]() |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Quote:
E' un'africa allo stato puro, purtroppo ci sono stati e ci sono tuttora (anzi, forse ancor più di prima) TANTI incompetenti che lavorano nel ramo, mentre magari ci sono persone brave e con voglia di fare che faticano a trovare anche un contrattino a tempo determinato.
__________________
Il sole è giallo |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:58.