C++ estrazione caratteri

di il
8 risposte

C++ estrazione caratteri

Ciao a tutti.
Mi servirebbe una funzione che estrae due lettere casuali, la prima deve essere una vocale e la seconda una consonante. Io ci sto provando da un po ma non riesco a trovare un metodo fattibile.
Naturalmente in c++

8 Risposte

  • Re: C++ estrazione caratteri

    
    #include <iostream>
    #include <windows.h>
    #include <time.h>
    
    using namespace std;
    
    string vocale[5]="aeiou";
    string consonante[16]="bcdfghlmnpqrstvz";
    int i;
    int main()
    {
      srand(static_cast<unsigned int>(time(NULL)));
      i=rand()%4;
      cout<<vocale[i]<<endl;
      i=rand()%16;
      cout<<consonante[i]<<endl;
    
    system("pause");
    system("cls");
    return main();
    }
      
    
    
    
  • Re: C++ estrazione caratteri

    Grazie per l'aiuto e per il temop che hai "sprecato" ma dovrei farlo senza usare i vettori-
  • Re: C++ estrazione caratteri

    Ah xD uhm a dire il vero non funziona con i vettori xd bisogna togliere quelle parentesi con 5 e 16 xd un alto modo potrebbe essere con gli if usi sempre la rand()% e fai se x=1 cout a se x=2 cout e poi di nuovo x=rand e fai di nuovo se x=1 cout b ...... Certamente pero non è il metodo piu indicato xd ora sono dal cell non posso scrivere codice xd oggi pomeriggio scrivo qualcosina intanto se puoi e riesci prova da solo
  • Re: C++ estrazione caratteri

    A parte che windows.h e time.h non servono (anche perchè rand() e srand() e system() sono in stdlib.h...)... comunque perchè non doveva farlo senza vettori perchè non li hai studiati? Cioè ti fanno fare le funzioni rand() e srand() prima dei vettori? o_O
  • Re: C++ estrazione caratteri

    A parte che windows.h e time.h non servono (anche perchè rand() e srand() e system() sono in stdlib.h...)
    Ah. Non lo sapevo grazie
    edit: ehm system rand ecc. sono in stdlib ma come si fa con time?
    srand(static_cast<unsigned int>(time(NULL)));

    ... comunque perchè doveva farlo senza vettori perchè non li hai studiati? Cioè ti fanno fare le funzioni rand() e srand() prima dei vettori? o_O


    comunque scrivi un po' di codice e poi vediamo di aggiustarlo se non va xD
  • Re: C++ estrazione caratteri

    Ah sì vabbe time() si trova in time.h ma ricorda che se inserisci header standard del c ci vuole la c davanti e senza l'estensione .h alla fine (es: ctime). Comunque se ti può aiutare:
    while (i == 'a' || i == 'e' || i == 'i' || i == 'o' || i == 'u')
        i = rand() % ('z' - 'a') + 'a'; // Per le consonanti
    printf("%c", i);
    i = rand() % 5;
    if (i == 0) i = 'a';
    else if (i == 1) i = 'e';
    else if (i == 2) i = 'i';
    else if (i == 3) i = 'o';
    else if (i == 4) i = 'u'; // Per le vocali
    printf("%c", i);
    Se non hai capito qualcosa dimmi (dico a davoleo).
  • Re: C++ estrazione caratteri

    Comunque il modo migliore sarebbe quello di 1mm0rt4le
  • Re: C++ estrazione caratteri

    Grazie a tutti per l'aiuto. la soluzione più appropiata alle mie esigenze è quella di immortale.
    Cmq seguo il corso di fondamenti di informatica e dopo le varie strutture (if, while, ecc) abbiamo fatto le funzioni e solo ora gli array. Al momento dell'assegnamento di questo esercizio ancora non avevamo iniziato coi vetttori.
    Ancora grazie a tutti...
Devi accedere o registrarti per scrivere nel forum
8 risposte