Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383

    [c]contare consonanti e vocali

    Ciao,
    devo scrivere un programma che chiede di immattere una stringa, cioè un vettore di char.
    Lo scopo del programma è visualizzare sullo schermo il numero di vocali e consonanti presenti nel vettore.

    Ho preparato una bozza del programma:
    codice:
    main()
    {
     int i,n,voc,con;
     char str[100];
     printf("Inserire una stringa composta da lettere dell'alfabeto e punteggiatura\n");
     scanf("%s",&str);
     n=0;
     i=0;
     while (s[i] != '\0') {
             n++;
             i++;
     }
     voc=0;
     con=0;
     for(i=0;i<n;i++) {
    C'è un algoritmo efficace per contare vocali e consonanti?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Confronta ogni singolo carattere con i caratteri

    a e i o u

    se verifichi l'uguaglianza aumenti il contatore delle vocali, altrimenti aumenti il contatore delle consonanti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    e se non è una consonante?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da cristianc
    e se non è una consonante?
    Naturalmente dovrai testare prima se e' un carattere alfabetico (dalla a alla z) e poi, se non e' una vocale, e' una consonante ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Originariamente inviato da oregon
    Naturalmente dovrai testare prima se e' un carattere alfabetico (dalla a alla z) e poi, se non e' una vocale, e' una consonante ...
    grazie, ora provo...non ci avevo pensato!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Ho scritto il programma, ma ricevo quest'errore in compilazione:
    codice:
    cons_voc.c: In function ‘main’:
    cons_voc.c:8: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[100]’
    questo è invece il codice del programma:
    codice:
    #include <stdio.h>
    
    main()
    {
     int i,n,voc,con;
     char str[100];
     printf("\nInserire una stringa composta da lettere dell'alfabeto e punteggiatura:\n");
     scanf("%s",&str);
     n=0;
     i=0;
     while (str[i] != '\0') {
             n++;
             i++;
     }
     voc=0;
     con=0;
     for(i=0;i<n;i++) {
         if (96 < str[i] < 123 || 64 < str[i] < 91) {
             if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u')
                 voc++;
         else 
             con++;
         }
     }
     printf("\nIl numero di vocali è %d, quello delle consonanti è %d\n",voc,con);
    }

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il codice non e' leggibile ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    ora l'ho sistemato

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nella scanf il nome della stringa e' gia' il puntatore che serve ...

    scanf("%s", str);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Originariamente inviato da oregon
    Nella scanf il nome della stringa e' gia' il puntatore che serve ...

    scanf("%s", str);
    ok grazie

    In esecuzione ho verificato questo bug:
    codice:
    Inserire una stringa composta da lettere dell'alfabeto e punteggiatura:
    cane e gatto
    
    Il numero di vocali è 2, quello delle consonanti è 2

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.