PDA

View Full Version : [C] programmino istogramma


yoghi87
09-07-2008, 12:24
Salve,
dovrei fare un programma che visualizzi un istogramma in orizzontale della lunghezza delle parole nel testo in ingresso, ho provato ad abbozzare qualcosa ma non và.....qualche consiglio?

#include <stdio.h>

main()
{

int c, i;
int lung[100];
int rest[100];

for (i = 0; i < 100; i++)
lung[i] = 0;

while ((c = getchar()) != EOF)
if (c >= '0' && c <= '99')
++lung[c-'0'];
else (c == ' ' || c == '\t' || c == '\n')
++rest['99'-c];

printf("cifre = ");
for (i = 0; i = '_'; ++i)
printf(" %d", lung[i]);
}

stdecden
09-07-2008, 12:32
#include <stdio.h>

main()
{

int c, i;
int lung[100];
int rest[100];

for (i = 0; i < 100; i++)
lung[i] = 0;

while ((c = getchar()) != EOF)
if (c >= '0' && c <= '99')
++lung[c-'0'];
else (c == ' ' || c == '\t' || c == '\n')
++rest['99'-c];

printf("cifre = ");
for (i = 0; i = '_'; ++i)
printf(" %d", lung[i]);
}



else non puó contenere nessuna condizione, puoi comunque utilizzare else if al posto

yoghi87
09-07-2008, 13:15
ma l'errore è solo quello?

wizard1993
09-07-2008, 13:23
e questo
printf("cifre = ");
for (i = 0; i = '_'; ++i)
printf(" %d", lung[i])

yoghi87
09-07-2008, 13:51
ma cosa c'è di sbagliato??:muro:

stdecden
09-07-2008, 14:03
ma cosa c'è di sbagliato??:muro:

for (i = 0; i = '_'; ++i)


Il for deve contenere nella seconda posizione una condizione: prova a sostituire con i < 100;

yoghi87
09-07-2008, 14:25
ma allora per fare l'istogramma con il simbolo '_' dove lo inserisco....

yoghi87
09-07-2008, 19:48
ho provato cosi ma non và........

#include <stdio.h>

main()
{

int c, i;
int lung[100];
int rest[100];

for (i = 0; i < 100; i++)
lung[i] = 0;

while ((c = getchar()) != EOF)
if (c >= '0' && c <= '99')
++lung[c-'0'];
else if (c == ' ' || c == '\t' || c == '\n')
++rest['99'-c];
else
printf("Error ");


for (i = 0; i < 100; ++i)
i = '_'
printf(" %d", i);
}

DanieleC88
09-07-2008, 21:11
Ehm, hai programmato in Python in passato? :D

In C non basta l'indentazione, devi anche aprire e chiudere dei blocchi se usi più di una riga di codice negli if, while, for, etc...

while (condizione)
{
riga1;
riga2;
riga3;
}

if (condizione)
rigaSingola;