Istogramma Caratteri in C

di
Anonimizzato28411
il
8 risposte

Istogramma Caratteri in C

Questo programma dovrebbe visualizzare il numero di asterischi corrispondente alla frequenza > 0 del carattere in ingresso.
Ma non lo fa..., qualcuno che mi suggerisca?

#include <stdio.h>

main()
{
	int c, n;
	int frequenza[26];
	for (c = 0; c < 26; c++)
	{
		frequenza[c] = 0;
	}

	while ((c = getchar()) != EOF) 
		if (c >= 'a' && c <= 'z') frequenza[c-'a']++;

	for (c = 0; c < 26; c++)
	{
		if (frequenza[c] > 0)
		{ 
			n = frequenza[c];
			while (n > 0) 
			{
				printf("*");
				n--;
			}
		}
	}
}

8 Risposte

  • Re: Istogramma Caratteri in C

    Non lo fa ? Che vuol dire?

    E quando vai a capo con la printf?

    Pensaci
  • Re: Istogramma Caratteri in C

    Intendi printf("*\n"); ?
  • Re: Istogramma Caratteri in C

    Solo "\n"
  • Re: Istogramma Caratteri in C

    Ah evero adesso va …
  • Re: Istogramma Caratteri in C

    Ho messo un a capo a fine ciclo
  • Re: Istogramma Caratteri in C

    Fatto, grazie :
    
    #include <stdio.h>
    
    main()
    {
    	int c, n;
    	int frequenza[26];
    	for (c = 0; c < 26; c++)
    	{
    		frequenza[c] = 0;
    	}
    
    	while ((c = getchar()) != EOF) 
    		if (c >= 'a' && c <= 'z') frequenza[c-'a']++;
    
    	for (c = 0; c < 26; c++)
    	{
    		if (frequenza[c] > 0)
    		{ 
    			n = frequenza[c];
    			printf("Lettera %c ", c + 'a');//oppure c + 97
    			while (n > 0) 
    			{
    				printf("*");
    				n--;
    			}
    			printf("\n");
    		}
    	}
    }
    
    Direi che qua il moderatore può chiudere
  • Re: Istogramma Caratteri in C

    Direi che bastava un post ... non scrivere mille frasette ... NON è una chat
  • Re: Istogramma Caratteri in C

    Si ok mi impegnerò
Devi accedere o registrarti per scrivere nel forum
8 risposte