|
|||||||
|
|
|
![]() |
|
|
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 ), io mi son letto qualcosa sul c ma sono ancora abbastanza niubbo ma col tempo spero di diventare bravo come voi ! 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: 18:14.





















