Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    Il codice qui sul cel non ce l'ho tutto ho solo questo pezzo xò ti spiego approssimativamente cosa ho fatto (La prima parte è per calcolare il numero di vocali e consonanti nella stringa inserita)
    codice:
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h> 
    main() 
    { 
    int i,l,n; 
    char str[100]; 
    printf("Inserisci la stringa: "); 
    gets(str); 
    l=strlen(str); 
    int v=0;
    int c=0; 
    for(i=0;i<=l;i++){ 
    if((str[i]>=97&&str[i]<=122)||(str[i]>=65&&str[i]<=90)){ 
    if((str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u') || (str[i]=='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U')) 
    v=v+1; 
    else 
    c=c+1; 
    } } 
    printf("Il numero delle vocali %c: %d\nIl numero delle consonanti %c: %d\n",138,v,138,c); 
    system("PAUSE"); 
    }
    Dopo di che prima del system("PAUSE") ho fatto:
    codice:
    int c1=0;c2=0 così via fino a c26=0;
    for(i=0;i<=l;i++){
    if(str[i]=='a')
    c1=c1+1;
    if(str[i]=='b')
    c2=c2+1;
     così via fino ad arrivare a
    if(str[i]=='z')
    c26=c26+1;
     e poi la visualizzazione
    è tutto sbagliato vero?

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Perdonami ... ma non avevamo parlato di un vettore

    vet[26]

    ?

    Dov'è ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    Utilizzando il vettore non capivo il motivo ma non funzionava..ovviamente sbagliavo io qualcosa ma non sapendo cosa l'ho cancellato e pensando che era la stessa cosa l'ho fatto come ti ho descritto...puoi spiegarmi bene qual'è il tuo metodo risolutivo? perchè sarà che sono alle prime armi , ma no capisco bene come farlo in altro modo..

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... ma lo potevi dire subito ... pensavo avessi risolto con il vettore?

    In poche parole, dichiari il vettore in questo modo per azzerarlo

    int vet[26] = { 0 };

    ed esamini la stringa contando le occorrenze (mi raccomando, non <=l ma <l) e utilizzando il valore ascii della lettera (che suppongo minuscola) come indice ...

    codice:
    for(i=0; i<l; i++)
       ... qui controlli che str[i] sia minuscolo o lo converti in minuscolo ...
          vet[str[i]-'a']++;
    Alla fine del ciclo hai tutte le occorrenze delle lettere nel vettore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    Ok grazie. Fino al controllo ci sono ma no capisco questo: vet[str[i]-'a']++; , non capisco cosa fa questa linea di codice e perchè hai messo -'a' ...e poi cosa faccio stampare a video??

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da giumanji
    Ok grazie. Fino al controllo ci sono ma no capisco questo: vet[str[i]-'a']++; , non capisco cosa fa questa linea di codice e perchè hai messo -'a' ...e poi cosa faccio stampare a video??
    Non hai molta pratica con i vettori, ma dovresti averla se vuoi risolvere questi esercizi ...

    Sai cosa vuol dire ++ ?

    Sai cosa è l'indice di un vettore?

    Conosci il codice ASCII ?

    Sai che il carattere 'a' ha un valore ASCII ?

    Per la visualizzazione del risultato, come facevi con le variabili da c1 a c26 ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #17
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    si allora correggimi se sbaglio :
    ++ incrementa l'indice del vett di 1;
    l'indice del vettore serve per scorrere attraverso il ciclo for tutto il vettore a partire dalla posizione 0 fino alla fine del vettore;
    si conosco il codice ascii e so che ogni carattere ha un valore ascii;
    per la visualizzazione io nel printf andavo mettendo : printf("a= %d ,b= %d,.......,z=%d\n",c1,c2,....,c26).

    ciò che non capisco è perchè metti proprio -'a' e non ad esempio -'c'?
    e per stampare a video all'interno del printf devo stampare vet??
    Scusa per il disturbo..ma almeno cerco di capire.. e grazie

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da giumanji
    ++ incrementa l'indice del vett di 1;
    No ... incrementa il valore dell'elemento del vettore ...

    l'indice del vettore serve per scorrere attraverso il ciclo for tutto il vettore a partire dalla posizione 0 fino alla fine del vettore;
    Serve a identificare un elemento preciso tra tutti quelli che fanno parte del vettore. Che poi si utilizzi la variabile di un ciclo for per scorrere tutto il vettore lo potrai usare nella visualizzazione dei risultati ...

    si conosco il codice ascii e so che ogni carattere ha un valore ascii;
    quindi saprai cosa significa

    str[i]-'a'

    per la visualizzazione io nel printf andavo mettendo : printf("a= %d ,b= %d,.......,z=%d\n",c1,c2,....,c26).
    In modo simile (ma usando un for!) visualizzi i risultati ...

    Ripeto la domanda ... hai ben chiari i concetti che ruotano attorno ai vettori?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    Pensavo di saperli...pensavo...
    cmq str[i]-'a' significa che considero il carattere presente nella posizione i del vettore e gli sottraggo il valore che a ha nel codice ascii giusto?

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da giumanji
    Pensavo di saperli...pensavo...
    cmq str[i]-'a' significa che considero il carattere presente nella posizione i del vettore e gli sottraggo il valore che a ha nel codice ascii giusto?
    Giusto ... quindi? Fai un esempio, supponi che str[i] sia eguale a 'b'
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.